在未安装SDK的情况下运行xUnit测试

时间:2019-09-11 21:42:15

标签: unit-testing .net-core xunit

我想在服务器上运行一些xUnit测试,而不必在那里安装.NET Core SDK。

该服务器是安装了.NET Core运行时v2.2的Windows服务器。

我将如何处理?

1 个答案:

答案 0 :(得分:0)

添加xunit.console nuget程序包(在编写本文时为2.4.1版),然后在程序中添加一个代码行。Main:

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

您还需要将<GenerateProgramFile>false</GenerateProgramFile>添加到csproj文件中。

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

如果需要灵活性,可以在需要覆盖报告程序或过滤器的情况下将其扩展为通过其他args。

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