pytest使用

安装:


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:Usersl00379637PycharmProjectscis_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:Usersl00379637PycharmProjectscis_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