安装:
pip install pytest
pip install pytest-cov
utils.py代码
def add(a, b):
    return a+b
def inc(x):
    return x + 1
def func_except():
    raise SystemExit(1)  
test_utils.py 代码
# -*- coding:utf-8 -*-
import pytest
from utils import add, inc, func_except
def test_add():
    assert add(1,1) == 2
    assert add(1,2) == 3
def test_answer():
    assert inc(3) == 4
def test_mytest():
    with pytest.raises(SystemExit):
        func_except()
# content of test_class.py
class TestClass(object):
    def test_one(self):
        x = "this"
        assert ‘h‘ in x
    def test_two(self):
        x = "hello"
        assert hasattr(x, ‘find‘)
运行测试:
>pytest . ========================================================================================================== test session starts =========================================================================================================== platform win32 -- Python 3.7.3, pytest-5.0.0, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\l00379637\PycharmProjects\cis_algo_refator plugins: cov-2.7.1 collected 5 items test_utils.py ..... [100%] ======================================================================================================== 5 passed in 0.16 seconds ========================================================================================================
查看覆盖率:
pytest --cov=./
pytest --cov=./ ========================================================================================================== test session starts =========================================================================================================== platform win32 -- Python 3.7.3, pytest-5.0.0, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\l00379637\PycharmProjects\cis_algo_refator plugins: cov-2.7.1 collected 5 items test_utils.py ..... [100%] ----------- coverage: platform win32, python 3.7.3-final-0 ----------- Name Stmts Miss Cover ----------------------------------- test_utils.py 17 0 100% utils.py 6 0 100% ----------------------------------- TOTAL 23 0 100% ======================================================================================================== 5 passed in 0.20 seconds ========================================================================================================
原文:https://www.cnblogs.com/bonelee/p/11122983.html