JENKINS使用DOCKER运行PYTEST并且出ALLURE报告
背景
最近想做一个简单的pytest 测试,用allure出报告,结果发现网上的方法都是在windows上装jenkins,然后用jenkins跑一个本地的运行环境。这种做法明显很不2019年。于是我决定做一个在jenkins上使用docker运行pytest,然后再出allure报告的文章。
思路
具体步骤
Dockerfile内容如下:
| 1 2 3 4 5 | FROM python:3.7.3 WORKDIR . ADD . . RUN pip install -r requirements.txt CMD ["pytest", "-q","TestCase/AIMP/Connect/AIMP_Connect_01.py","--alluredir","allure-results"] |
requirements.txt内容如下:
| 1 2 3 4 5 6 7 8 9 10 | allure-pytest==2.6.2 allure-python-commons==2.6.2 atomicwrites==1.3.0 attrs==19.1.0 colorama==0.4.1 more-itertools==7.0.0 pluggy==0.9.0 py==1.8.0 pytest==4.4.1 six==1.12.0 |
测试用例可以如下
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import pytest def test_success(): """this test succeeds""" print(1) assert True
def test_failure(): print(2) """this test fails""" assert False
def test_skip(): print(3) """this test is skipped""" pytest.skip('for a reason!')
def test_broken(): raise Exception('oops')
def test_success2(): print(4) assert True |
3.jenkins配置,这里如何拉取git代码就不写了。这个很简单,主要是构建命令和构建后操作,这里我复制了我的构建命令如下:
| 1 2 3 | name="apitest" docker build -t $name . docker run -d --name $name -v $PWD/allure-results:/allure-results $name |
效果如图:
4.运行job,查看allure结果
总结
以上是生活随笔为你收集整理的JENKINS使用DOCKER运行PYTEST并且出ALLURE报告的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ImportError: No modu
- 下一篇: 写一个头文件