MSTest 未在汇编中发现单元测试

MSTest does not discover unit test in assembly

我正在尝试与 TeamCity 建立持续集成并卡在 运行 单元测试步骤 Visual Studio 测试运行器。

Loading [02:42:07]C:\TeamCity\buildAgent\work\f7a05248f49c57a1\LodCore\UserPresentationTests\bin\Release\UserPresentationTests.dll...

[02:42:07][Step 3/3] Starting execution...

[02:42:07][Step 3/3] No tests to execute.

当我从 Visual Studio 构建测试程序集时,所有测试都是可发现的。 我已经从构建代理下载 UserPresentationTests.dll 到我的计算机,并尝试用我的本地 MSTest.exe 执行相同的命令,但由于同样的问题而失败。 我用 ILSpy 反编译了它,发现它与从 Visual Studio 构建的 dll 没有区别。 我在 MSBuild 上尝试了不同的构建配置,但它不起作用。

我的 TeamCity 版本:Professional 2017.2 (build 50574)

你能检查一下环境之间在安装的库、权限等方面没有任何差异吗?

我们有几个指示来解决工作的本地构建和失败的 TeamCity 之间的差异,您可能需要按照这些步骤操作:https://confluence.jetbrains.com/display/TCD10/Common+Problems#CommonProblems-BuildfailsorbehavesdifferentlyinTeamCitybutnotlocally

考虑到这一点,虽然第 3 步指向失败,但我还会检查第 2 步的构建日志,因为它可能出于某种原因跳过了一些构建部分。

此外,如果您还可以在 OP 中添加您正在使用的 TeamCity 版本以及您在步骤 3 中使用的运行器类型,那将会很有帮助。

除了您的解决方案的构建配置之外,您还应该使用运行程序类型 MSTest 创建新配置。 Example here

如果您正在使用 MSTest v2,那么您应该使用 VSTest 而不是 MSTest: