如何运行selft包含.NET Core测试?

时间:2018-06-08 15:35:36

标签: .net-core mstest self-contained

我有一个mstest项目,在执行时可以正常工作:

dotnet test --logger "trx;LogFileName=Result.trx" --settings tests.runsettings

我还可以使用以下方法构建一个自包含的应用程序:

dotnet publish -c Release -f netcoreapp2.1 --force --self-contained --runtime win-x64 

但我不知道如何从生成的输出中运行测试。

调用

dotnet test .\ProjectName.dll --logger "trx;LogFileName=Result.trx" --settings tests.runsettings

错误"错误MSB4025:无法加载项目文件。"

有关如何运行此自我包含的MSTest-Project的任何提示吗?

1 个答案:

答案 0 :(得分:3)

您使用的是错误的工具:

➜  ~ dotnet --help
  test             Runs unit tests using the test runner specified in the project.
  vstest           Runs Microsoft Test Execution Command Line Tool.

dotnet test是用于运行给定项目中定义的单元测试的工具。如果您尝试从已发布的dll中运行测试,dotnet vstest是您应该执行的命令。你这样做:

dotnet publish -o outputdir
dotnet vstest outputdir/your.dll