关于jenkins集成python的单元测试

这篇具有很好参考价值的文章主要介绍了关于jenkins集成python的单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在研究jenkins的集成,然后想把自己写的python工具也用jenkins集成一下

废话少说,来看结构

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

sparking.py


@author: lianying
'''
class Sparking:
    @staticmethod
    def get_num_of_zero(bits_num, key):
        cnt = 0
        while key:
            cnt += 1
            key &= key -1
        return bits_num - cnt
    @staticmethod
    def get_num_of_one(bits_num, key):
        cnt = 0
        while key:
            cnt += 1
            key &= key -1
        return cnt

def main():
    s = Sparking()
    s.get_num_of_zero(32, 5)

if __name__ == '__main__':
    main()

test_sparking.py


'''
@author: allen
'''
import pytest
from sparking.sparking import Sparking

class TestSparking(object):  
    @pytest.mark.parametrize("bits_num, key, expected",[
        (8,5,2),
        (16,5,2),
        (32,5,2),
        (64,5,2)
        ])
    def test_get_num_of_one(self, bits_num, key, expected):
        assert Sparking.get_num_of_one(bits_num, key) == expected
        
    @pytest.mark.parametrize("bits_num, key, expected",[
        (8,5,6),
        (16,5,14),
        (32,5,30),
        (64,5,62)
        ])
    def test_get_num_of_zero(self, bits_num, key, expected):
        assert Sparking.get_num_of_zero(bits_num, key) == expected

代码上次svn,然后配置jenkins;jenkins的安装就不介绍了,网上一搜一大片;jenkins里先安装好Cobertura Plugin插件,用来显示代码覆盖率的

1、创建job

2、配置svn

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

3、设置触发器

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

4、构建 (前提需要安装pytest-cov)

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

5、构建后展示report

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

6、保存、应用即可

7、执行结果和报告

console :


Started by user anonymous
Building on master in workspace C:\Users\lianying\.jenkins\jobs\test_django\workspace
Updating svn://10.134.28.113/project/sparking at revision '2016-06-08T13:54:59.004 +0800'
U         tests\test_sparking.py
At revision 28
[workspace] $ cmd /c call D:\Dev\tomcat\temp\hudson4704689285977025139.bat

C:\Users\lianying\.jenkins\jobs\test_django\workspace>py.test tests\test_sparking.py --junitxml=pytest_result.xml --cov=sparking --cov-report=xml 
============================= test session starts =============================
platform win32 -- Python 2.7.0, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: C:\Users\lianying\.jenkins\jobs\test_django\workspace, inifile: 
plugins: cov-2.2.1, html-1.8.1
collected 8 items

tests\test_sparking.py ........

 generated xml file: C:\Users\lianying\.jenkins\jobs\test_django\workspace\pytest_result.xml 
--------------- coverage: platform win32, python 2.7.0-final-0 ----------------
Coverage XML written to file coverage.xml
========================== 8 passed in 0.11 seconds ===========================

C:\Users\lianying\.jenkins\jobs\test_django\workspace>exit 0 
[Cobertura] Publishing Cobertura coverage report...
Publishing Cobertura coverage results...
Cobertura coverage report found.
Recording test results
Finished: SUCCESS

报告截图:

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

PS:补充下在virtualenv下的执行

从第4步开始

4、构建 这里需要先安装pytest-html 和pytest-cov ,然后添加SHELL


pip freeze > ./requirements.txt
if [ ! -d "venv" ]; then
    virtualenv -p /usr/bin/python venv
fi

. venv/bin/activate
pip install -r requirements.txt
cd sparking
py.test tests/test_sparking.py --html=pytest_result.html --cov=sparking --cov-report=xml

这里使用了pytest-html生成的报告更好看一些

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

后面基本一致,注意生成报告的路径要配置正确,看下结果:

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

关于jenkins集成python的单元测试,软件测试,jenkins,python,单元测试,自动化测试,软件测试,功能测试,程序人生文章来源地址https://www.toymoban.com/news/detail-816012.html

到了这里,关于关于jenkins集成python的单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包