【发布时间】:2018-08-14 16:02:12
【问题描述】:
我创建了一个针对 .NET Framework 4.6.1 的单元测试项目。测试显示在测试资源管理器中,并在 Visual Studio 2017 中运行良好。
我想设置一个构建过程,所以我想从命令行运行测试。我试图使用 mstest 但这没有找到测试。
当我跑步时
mstest /testcontainer:mp.tests\bin\debug\mp.tests.dll
我明白了……
Loading messageparser.tests\bin\debug\messageparser.tests.dll...
Starting execution...
No tests to execute.
但是我可以成功地使用命令“dotnet test”来运行它们。
当我跑步时
dotnet test
我明白了……
Build started, please wait...
Build completed.
Test run for C:\MP.Tests\bin\Debug\MP.Tests.dll(.NETFramework,Version=v4.6.1)
Microsoft (R) Test Execution Command Line Tool Version 15.5.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Total tests: 70. Passed: 70. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 8.2833 Seconds
但是,我发现的指导建议应将“dotnet 测试”用于 .NET Core,而没有提及 .NET Framework。
dotnet test 是否适合从 .NET Framework 项目的命令行运行测试?还是我应该使用 mstest?如果是这样,我该如何让它工作?
【问题讨论】:
-
“我尝试使用 mstest - 但这不起作用。”您使用的是哪种项目?.NET Core 控制台或 .NET Framework 的类库?
dotnet test用于 .NET Core仅基于 SDK 的项目(但它是否突然适用于其他项目类型尚不确定,可能不受官方支持)。 -
@LexLi 测试项目针对.NET Framework,我已经相应地更新了问题。
标签: c# .net visual-studio automated-tests