是否可以将.NET Core XUnit项目作为独立应用程序运行?

时间:2018-08-22 21:32:53

标签: .net-core xunit

我的情况是我不想依赖于环境的已安装dotnet版本。理想情况下,我希望有一个独立的XUnit应用程序,可以使用该应用程序在目标环境上运行测试。

.NET Core控制台应用程序的OutputTypeExe,因此在独立发布后,我们可以执行已发布的可执行文件。这是可以理解的,因为“控制台”应用程序在应用程序内有一个入口点。在XUnit测试项目的情况下,我们没有入口点。

仅将<OutputType>Exe</OutputType>添加到XUnit测试项目中并没有帮助(可以理解)

1 个答案:

答案 0 :(得分:0)

我能够做到以下几点:

  • 在我要运行的XUnit测试项目中,将.csproj修改为:

```     

.

```

  • 包括此处提到的赛跑者(注意,确实有一个入口):https://github.com/xunit/samples.xunit/blob/master/TestRunner/Program.cs

  • 现在将应用程序发布为独立应用程序。例如,我想在Linux机器上运行用.NET Core编写的测试。示例: <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <OutputType>Exe</OutputType> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="xunit" Version="2.3.1" /> <PackageReference Include="xunit.runner.utility" Version="2.3.1" /> </ItemGroup> </Project>

  • 现在让我们说一下,如果您的测试项目被命名为'Foo.Tests',您应该在发布的输出中看到一个名为'Foo.Tests'的可执行文件。通过执行'./Foo.Tests'