不安装SDK如何运行xUnit测试

3
我想在服务器上运行一些xUnit测试,而无需在服务器上安装.NET Core SDK。该服务器是一个已安装.NET Core runtime v2.2的Windows服务器。我该如何做呢?

非常模糊。是哪一类测试?单元测试?应该在构建应用程序(例如在管道中)期间或在本地开发时运行单元测试,甚至包括集成测试。 - Jabberwocky
1个回答

5

添加 xunit.console NuGet 包(在撰写本文时为 2.4.1 版),并在你的 Program.Main 中添加一行代码:

public class Program
{
    public static int Main()
    {
        return Xunit.ConsoleClient.Program.Main(
            new[] { typeof(Program).Assembly.Location });
    }
}

您还需要在csproj文件中添加<GenerateProgramFile>false</ GenerateProgramFile>

只需使用dotnet publish,然后可以使用dotnet run "myapp.dll"来执行测试。

如果需要灵活性以覆盖报告器或过滤器,则可以将其扩展以通过其他参数传递。

似乎这些软件包没有随其他xunit软件包一起更新(我认为这是v2版本 - 现在有v3),但这仍然似乎适用于netcoreapp3.1和net5 xunit测试应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接