Docker/TeamCity/xUnit-测试选项卡缺失,测试失败不&x27;不要停止建造

Docker/TeamCity/xUnit-测试选项卡缺失,测试失败不&x27;不要停止建造,docker,testing,teamcity,xunit,Docker,Testing,Teamcity,Xunit,我正在使用Linux上的Docker Swarm来主持TeamCity。在我的实例中,我使用xUnit通过docker compose文件运行集成测试 当我运行我的测试时(如果xUnit测试失败,这反过来会停止我的构建),我真的很难找到让测试选项卡出现的步骤。我能够在TeamCity 2017.1.2中使其正常工作,但在TeamCity 2017.2.4中它拒绝工作 我已经按照示例将“ENV TEAMCITY_PROJECT_NAME=false”添加到我的Docker文件中(我认为这就是我所需

我正在使用Linux上的Docker Swarm来主持TeamCity。在我的实例中,我使用xUnit通过docker compose文件运行集成测试

当我运行我的测试时(如果xUnit测试失败,这反过来会停止我的构建),我真的很难找到让测试选项卡出现的步骤。我能够在TeamCity 2017.1.2中使其正常工作,但在TeamCity 2017.2.4中它拒绝工作

我已经按照示例将“ENV TEAMCITY_PROJECT_NAME=false”添加到我的Docker文件中(我认为这就是我所需要做的全部)

我怎样才能拿回测试标签,并在测试中断时停止构建


感谢您的帮助,我为这件事感到非常难过

我也遇到了这个问题。Nick Adcock在

他提供了microsoft/dotnet:2.0-sdk映像的更新版本,该映像以TeamCity可以读取、使用和呈现的格式输出测试结果。我将其与TeamCity 2017.2.4一起使用,似乎效果良好。它没有正确计算我的测试,但至少现在我有了容易看到的测试结果


希望这能对您有所帮助。

谢谢。我最终还是设法让它工作了

我的Dockerfile的结尾如下所示:

FROM microsoft/dotnet:2-sdk

...
...

# Set the flag to tell TeamCity that these are unit tests:
ENV TEAMCITY_PROJECT_NAME = ${TEAMCITY_PROJECT_NAME}

# Run the tests:
ENTRYPOINT ["dotnet", "test", "--verbosity=normal"]
我还将此添加到我正在使用的docker compose文件中:

version: '3.6'
  ...
  ...
  steve.core.tests:
    image: steve.core.tests:tests
      build:
        context: .
        dockerfile: Dockerfile-run-tests
      environment:
        - TEAMCITY_PROJECT_NAME
可能是腰带和背带,但似乎有效

我使用的TeamCity服务器版本2018.1.1与代理版本相同。我已将Docker Compose v1.22.0安装到我的TeamCity代理中

现在,我只需要找出在测试覆盖率不够高的情况下,如何使构建失败。我的下一个问题见这里: