我想在服务器上运行一些xUnit测试,而不必在那里安装.NET Core SDK。
该服务器是安装了.NET Core运行时v2.2的Windows服务器。
我将如何处理?
答案 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测试应用程序一起使用。