【问题标题】:TeamCity VSTest 2015TeamCity VSTest 2015
【发布时间】:2018-08-22 22:02:13
【问题描述】:

我正在尝试在服务器上设置 TeamCity 9.1.7,但在尝试添加测试步骤时遇到了问题。

运行器类型:Visual Studio 测试

测试引擎类型:VSTest

测试引擎版本:VSTest 2015

测试文件名:C2.Tests\bin\Debug\C2.Tests.dll

目标平台:x86

当我添加这个Step时,系统提示我添加一个Config参数:

名称:teamcity.dotnet.vstest.14.0

值:C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

当我运行所有步骤时,我在单元测试步骤中遇到错误:

[14:23:17][步骤 3/3] VSTest 报告观察者 [14:23:17][VSTest 报告 观察者]没有找到路径的报告:[14:23:17][VSTest 报告观察者] C:\BuildAgent\work\d28aa71801c772cb\TestResults*.trx [14:23:17][步骤 3/3] 步骤单元测试(Visual Studio 测试)失败

当我在我的机器上进行本地测试时,我不得不在这个设置上(在服务器上)做一些不同的事情。例如设置 2015 Build Tools。我不确定在哪里可以解决这个问题。

请指教。

【问题讨论】:

    标签: unit-testing visual-studio-2015 teamcity


    【解决方案1】:

    来自文档:

    Visual Studio 测试运行程序集成了 MSTest 运行程序和 VSTest 控制台运行程序。对这两种框架的支持使 TeamCity 能够执行测试并自动导入其测试结果。

    Visual Studio 测试运行程序需要在构建代理上安装 Visual Studio 测试代理或 Microsoft Visual Studio。

    https://confluence.jetbrains.com/display/TCD10/Visual+Studio+Tests

    因此,您可以从版本 10 开始完美使用 VSTest。

    对于 VSTests,你需要为 config 参数指定一个不同的目录:

    teamcity.dotnet.vstest.14.0: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe

    此文件将在安装测试代理(或 Visual Studio)后可用。

    如果您仍然收到错误,则表示您指定的测试有问题,您可能没有正确引用程序集,请确保路径和 .dll 文件存在。

    【讨论】:

      【解决方案2】:

      目前的配置有两个问题:

      1. 您将 VSTest 用作 TestEngine,其行为与 MsBuild 不同

      2. 当您使用 MSBuild 运行测试时,这不会生成报告观察程序显示执行结果所需的 .trx 文件。

      因此,为了解决您的问题,您需要将测试引擎更改为 [MSTest]

      此链接可以帮助您了解每个测试引擎的功能

      Choose and configure a test runner

      【讨论】:

      【解决方案3】:

      如果这对任何人都有帮助,在我的情况下,当 我错误地识别包含测试的 DLL 文件时会生成这个确切的错误。我写的不是“IntegrationTests.dll”,而是“ItegrationTests.dll”。您可以通过查看团队城市所说的构建日志来识别此问题:

      Command line params:
      

      然后列出所有测试 DLL 文件的路径。如果为空,则表示未找到您在构建步骤中指定的文件。

      如果您使用的是 VS 测试运行程序,您会看到这些行告诉您发生了什么:

      [Step 3/3] No test source files were specified.
      [Step 3/3] Process exited with code 1
      [Step 3/3] VSTest execution failure
      

      如果您使用的是 MS 测试运行器,您将看到以下行:

      [Step 3/3] Please specify tests to run, or specify the /publish switch to publish results. 
      [Step 3/3] For switch syntax, type "MSTest /help"
      [Step 3/3] Process exited with code 1
      [Step 3/3] MSTest execution failure
      

      【讨论】:

        【解决方案4】:

        尝试在测试步骤之前使用 MSBuild 步骤构建测试 - 如果找不到包含您的测试的 DLL,您会收到“未找到报告”错误

        【讨论】:

          猜你喜欢
          • 2016-01-30
          • 2017-11-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-27
          • 2017-09-22
          • 1970-01-01
          • 1970-01-01
          • 2017-12-02
          相关资源
          最近更新 更多