Gitlab 测试覆盖可视化不起作用
Gitlab test coverage visualization is not working
大家好,我有一个快速应用程序,我正在使用 gitlab 添加 Gitlab test coverage visualization
这是我的 .gitlab-ci.yml
stages:
- test
- dockerize
- staging
- production
unit-tests:
stage: test
script:
- npm install
- npm run test
- npm run test-coverage
- cat coverage/cobertura-coverage.xml
- "echo 'Code coverage: 90.90'"
coverage: '/Code coverage: \d+\.\d+/'
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH == "master"'
- if: '$CI_COMMIT_BRANCH == "release-v1"'
artifacts:
reports:
cobertura: coverage/cobertura-coverage.xml
tags:
- demo
dockerize-application:
stage: dockerize
script:
- echo "dockerizing application"
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH == "master"'
- if: '$CI_COMMIT_BRANCH == "release-v1"'
tags:
- demo
deploy_to_staging:
stage: staging
script:
- echo "deploying to staging"
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
tags:
- demo
deploy_to_production:
stage: staging
script:
- echo "deploying to production"
rules:
- if: '$CI_COMMIT_BRANCH == "release-v1"'
tags:
- demo
在我的包 json 中,这里是重要的部分:
"scripts": {
"start": "node ./bin/www",
"debug": "nodemon ./bin/www",
"test": "npx nyc --reporter text mocha",
"test-coverage": "npx nyc --reporter cobertura mocha"
}
在日志中,我可以看到覆盖文件已上传。
Runtime platform arch=amd64 os=windows pid=19548 revision=775dd39d version=13.8.0
coverage/cobertura-coverage.xml: found 1 matching files and directories
Uploading artifacts as "cobertura" to coordinator... ok id=1097622443 responseStatus=201 Created token=6wcrN_d_
我做了很多研究,但我仍然不明白为什么!我认为这是一个功能标志,默认情况下会关闭此功能,但现在不会了:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43711
这是我项目的 link:我主要是为了试验 gitlab 而创建的 ci/cd
现在可以使用了。问题是我需要等待整个管道成功才能真正看到可视化效果。
这是 Gitlab 中未解决的问题:
大家好,我有一个快速应用程序,我正在使用 gitlab 添加 Gitlab test coverage visualization
这是我的 .gitlab-ci.yml
stages:
- test
- dockerize
- staging
- production
unit-tests:
stage: test
script:
- npm install
- npm run test
- npm run test-coverage
- cat coverage/cobertura-coverage.xml
- "echo 'Code coverage: 90.90'"
coverage: '/Code coverage: \d+\.\d+/'
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH == "master"'
- if: '$CI_COMMIT_BRANCH == "release-v1"'
artifacts:
reports:
cobertura: coverage/cobertura-coverage.xml
tags:
- demo
dockerize-application:
stage: dockerize
script:
- echo "dockerizing application"
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH == "master"'
- if: '$CI_COMMIT_BRANCH == "release-v1"'
tags:
- demo
deploy_to_staging:
stage: staging
script:
- echo "deploying to staging"
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
tags:
- demo
deploy_to_production:
stage: staging
script:
- echo "deploying to production"
rules:
- if: '$CI_COMMIT_BRANCH == "release-v1"'
tags:
- demo
在我的包 json 中,这里是重要的部分:
"scripts": {
"start": "node ./bin/www",
"debug": "nodemon ./bin/www",
"test": "npx nyc --reporter text mocha",
"test-coverage": "npx nyc --reporter cobertura mocha"
}
在日志中,我可以看到覆盖文件已上传。
Runtime platform arch=amd64 os=windows pid=19548 revision=775dd39d version=13.8.0
coverage/cobertura-coverage.xml: found 1 matching files and directories
Uploading artifacts as "cobertura" to coordinator... ok id=1097622443 responseStatus=201 Created token=6wcrN_d_
我做了很多研究,但我仍然不明白为什么!我认为这是一个功能标志,默认情况下会关闭此功能,但现在不会了:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43711
这是我项目的 link:我主要是为了试验 gitlab 而创建的 ci/cd
现在可以使用了。问题是我需要等待整个管道成功才能真正看到可视化效果。
这是 Gitlab 中未解决的问题: