docker - Docker / TeamCity / xUnit - 测试选项卡缺失和失败的测试不会停止构建
问题描述
我在 Linux 上使用 Docker Swarm 来托管 TeamCity。在我的实例中,我使用 xUnit 通过 docker-compose 文件运行集成测试。
当我运行我的测试(如果 xUnit 测试失败,这反过来会停止我的构建)时,我真的很难使用我需要使用的步骤来显示测试选项卡。我能够让它在 TeamCity 2017.1.2 中正常工作,但它拒绝在 TeamCity 2017.2.4 中工作。
根据示例,我已将“ENV TEAMCITY_PROJECT_NAME=fake”添加到我的 Docker 文件中(我认为这是我需要做的所有事情)。
如何恢复“测试”选项卡,并在测试中断时停止构建?!
感激地收到任何帮助 - 我正在为这个而撕毁我的头发!
解决方案
谢谢。我确实设法让它最终工作。
我的 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 代理中。
现在我只需要弄清楚当测试覆盖率不够高时如何使构建失败。请参阅此处了解我的下一个问题:如果在 Docker 下运行的 .NET Core 单元测试的代码覆盖率低于 90%,则破坏 TeamCity 中的构建
推荐阅读
- python - ORA-00936: 插入时缺少 Python 和 Oracle 的表达式
- javascript - 如何将 Firebase 承诺值返回给 graphql?
- python - 如何用2个参数多次调用一个exe(每次需要修改1个)
- java - JPA Criteria API 在复杂的 GROUP BY 上失败
- sql - PostgreSQL 中的剩余库存计算
- powerbi - powerbi 如何创建具有多个孩子的家谱/层次结构图
- visual-studio - 安装nuget后如何在项目的csproj文件中添加一些行
- java - Java设计问题:对象之间共享信息
- sql-server - 如何在合并数据集之前检查行是否存在(SQL Server)
- sql - 在 SQL 中对非常大的数据集进行采样