Python中Pytest如何使用

Python中Pytest如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的昌黎网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

2、Pytest安装

    import pytest
    class Test_class:
        def test_001(self):
            print('用例001')
            assert 8 == 8
        def test_002(self):
            print('用例002')
            assert 6 == 6
        def test_003(self):
            print('用例003')
            assert 3 == 2
    if __name__ == "__main__":
    # 里面参数需要传list,多个参数放list就不会有警告了
# pytest.main('-q test_class.py')
        pytest.main(['-q', 'test_class.py'])

3、创建一个简单的test案例

    import pytest
    class Test_class:
        def test_001(self):
            print('用例001')
            assert 8 == 8
        def test_002(self):
            print('用例002')
            assert 6 == 6
        def test_003(self):
            print('用例003')
            assert 3 == 2
    if __name__ == "__main__":
    # 里面参数需要传list,多个参数放list就不会有警告了
# pytest.main('-q test_class.py')
        pytest.main(['-q', 'test_class.py'])

执行结果

pytest 中用例的检查点 直接用 Python 的 assert 断言。

assert 后面的表达式结果 为 True ,就是检查点通过,结果为False ,就是检查点不通过。

Python中Pytest如何使用

执行测试的时候,我们只需要在测试文件test_class所在的目录下,运行py.test即可。pytest会在当前的目录下,寻找以test开头的文件(即测试文件),找到测试文件之后,进入到测试文件中寻找test_开头的测试函数并执行。

4、Pycharm设置Pytest

#file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test
#右键选择pytest运行或者直接运行.py文件

执行结果

Python中Pytest如何使用

由上可见:Pytest是可以兼容UnitTest脚本的,之前写的UnitTest用例也能用Pytest框架去运行。

5、Pytest自动生成报告

    # 需预先装上pytest-html
    >>>pip install pytest_html

    # 生成html格式的报告
    >>>pytest -v test_1.py --html=Path

    # 生成xml格式的报告
    >>>pytest -v test_1.py --junitxml=Path

    # 生成txt格式的报告
    >>>pytest -v test_1.py --resultlog=Path

注意:检查运行指令时,路径(根目录)是否正确

参考地址:

https://docs.pytest.org/en/latest/warnings.html

Python中Pytest如何使用

    生成报告    
    .test_class.py::Test_class::test_001
    .test_class.py::Test_class::test_002
    F
    test_class.py::Test_class::test_003
    self = < test_class.Test_class object at 0x000001582B868978 >
    def test_003(self):
        print('用例003')
    > assert 3 == 2
    E
    assert 3 == 2
    E + 3
    E - 2
    test_class.py: 24: AssertionError

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


标题名称:Python中Pytest如何使用
浏览地址:http://scyanting.com/article/joohjd.html