【问题标题】:MsTest in TeamCity: tests found for one build configuration but not anotherTeamCity 中的 MsTest:找到了针对一种构建配置但没有针对另一种构建配置的测试
【发布时间】:2012-06-04 03:59:53
【问题描述】:

我有一个使用两种构建配置设置的 TeamCity 项目。每三分钟运行一次,以连续的方式运行。另一个每小时运行一次。这些曾经是一种配置,直到我拆分出连续构建。两种配置都有两个构建步骤:第一个是构建解决方案,第二个是使用 MsTest 运行单元测试。

在拆分为两个配置之前,MsTest 构建步骤运行所有具有属性 [Category("Unit")] 的测试。 MsTest 构建步骤中的“附加命令行参数”值为“/category:unit”。我创建了一个新的测试属性类别——“集成”——以便在两种配置之间拆分两种类型的测试。每小时构建配置旨在使用“/category:integration”的“附加命令行参数”值。

不幸的是,每小时构建配置找不到任何要运行的测试。命令行参数是否包含“unit”、“integration”或两者都没有关系(“unit|integration”)。另一方面,持续构建查找并运行与命令行参数中包含的类别相对应的测试。每小时构建日志包括以下输出:

[14:48:07]Step 2/2: Test Solution Hourly (MSTest) (29s)
[14:48:07][Step 2/2] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[14:48:07][Step 2/2] in directory: D:\TeamCity\buildAgent\work\23f125e3a59e551a
[14:48:11][Step 2/2] No assemblies, run configuration and test metadata were found

除了构建触发之外,这两种构建配置在各方面都是相同的。他们使用默认的 checkout 和 work 目录,以及相同的构建配置参数。为两者创建相同的工作目录。它们之间没有依赖关系。它们在同一个代理上运行。

我的问题是:为什么每小时配置找不到测试?

【问题讨论】:

    标签: teamcity mstest


    【解决方案1】:

    我知道您说过您的两个构建步骤之间的测试模式是相同的,但请仔细检查。这具有搜索模式错误的所有特征。

    如果 TeamCity 确实在日志中回显了您的测试程序集的搜索模式,那就太好了,但由于它没有,因此很容易在路径中意外遗漏斜杠 - 特别是在您使用参数化路径时。百分比符号之间的斜线有时很容易丢失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 2014-02-05
      • 2013-12-30
      相关资源
      最近更新 更多