MSTest未在程序集

时间:2017-12-13 11:08:48

标签: c# msbuild continuous-integration teamcity mstest

我正在尝试与TeamCity建立持续集成,并坚持使用Visual Studio Tests runner运行单元测试步骤。

  

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

     

[02:42:07] [步骤3/3]开始执行......

     

[02:42:07] [步骤3/3]没有要执行的测试。

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

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

Now my build configuration looks like that

Tests step looks like this

3 个答案:

答案 0 :(得分:4)

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

enter image description here

答案 1 :(得分:0)

您可以检查环境在安装的库,权限等方面是否存在任何差异。

我们有几个指针可以解决工作本地构建和失败的TeamCity之间的差异,您可能希望遵循这些步骤:https://confluence.jetbrains.com/display/TCD10/Common+Problems#CommonProblems-BuildfailsorbehavesdifferentlyinTeamCitybutnotlocally

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

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

答案 2 :(得分:0)

除了构建配置之外,您还应该使用Runner类型MSTest创建新配置。 Example here