如何为 Gitlab 配置 Python coverage.pl 报告

dnr*_*nrp 3 linux coverage.py python-3.x gitlab-ci-runner

我是 Gitlab 的新手,试图为 Gitlab 设置覆盖率报告 -m。当我手动运行时,coverage report -m 给我报告。只是无法弄清楚需要做什么才能在 Gitlab 上显示该显示。

这需要在 Linux for Gitlab 上使用 Python 3.6 单元测试代码覆盖率运行。

这是我的 yml 文件

stages: 
- build 
- test 
- coverage
- deploy

before_script:
  - pip install -r requirements.txt

unit-tests:  
 image:    
  name: "python:3.6"  
 stage: test  
 script: python -m unittest discover

test:
 image:   
  name: "python:3.6"
 stage: test
 script: 
   - python my_Project_Lib/my_test_scripts/runner.py

coverage:
  stage: test
  script:
      - python -m unittest discover
      - coverage report -m
      - coverage-badge

  coverage: '/TOTAL.+ ([0-9]{1,3}%)/'
Run Code Online (Sandbox Code Playgroud)

这可以很好地运行我的单元测试和 runer.pl,还可以运行覆盖率。您将需要在 requrements.txt 中进行以下操作

coverage
coverage-badge
Run Code Online (Sandbox Code Playgroud)

还有 README.MD 中的这一行

[![coverage report](https://gitlab.your_link.com/your_user_name/your directory/badges/master/coverage.svg)](https://gitlab.your_link.com/your_user_name/your directory/commits/master)
Run Code Online (Sandbox Code Playgroud)

您的用户名和链接可以从网址复制。

dnr*_*nrp 6

以下是单元测试代码覆盖率的工作解决方案。

这是我的 .yml-file

stages: 
- build 
- test 
- coverage
- deploy

before_script:
  - pip install -r requirements.txt

test:
 image:   
  name: "python:3.6"
 stage: test
 script: 
   - python my_Project_Lib/my_test_scripts/runner.py

unit-tests:
  stage: test
  script:
      - python -m unittest discover
      - coverage report -m
      - coverage-badge
      
  coverage: '/TOTAL.+ ([0-9]{1,3}%)/'
Run Code Online (Sandbox Code Playgroud)

这运行了我的单元测试并且runner.py很好,还运行了覆盖率。您将需要关注requirements.txt

coverage
coverage-badge
Run Code Online (Sandbox Code Playgroud)

还有这一行 README.MD

[![coverage report](https://gitlab.your_link.com/your_user_name/your directory/badges/master/coverage.svg)](https://gitlab.your_link.com/your_user_name/your directory/commits/master)
Run Code Online (Sandbox Code Playgroud)

您的用户名和链接可以从网址复制。