官网:https://docs.pytest.org/en/latest/
pytest帮你写出更好的程序
1、安装:
Ubuntu16.04安装pytest:
pip3 install pytest
pytest --version
This is pytest version 3.2.3, imported from /usr/local/lib/python3.5/dist-packages/pytest.py
2、An example of a simple test:(一个简单的例子),命名为test_pytest1.py
1 def funx(x): 2 return x + 1 3 4 5 def test_answer(): 6 assert funx(2) == 5
运行:
进入python脚本路径:pytest test_pytest1.py
[email protected]:/home/ranxf/Python3单元测试/demo# pytest test_pytest1.py
============================= test session starts ==============================
platform linux -- Python 3.5.2, pytest-3.2.3, py-1.4.34, pluggy-0.4.0
rootdir: /home/ranxf/Python3单元测试/demo, inifile:
collected 1 item
test_pytest1.py F
=================================== FAILURES ===================================
_________________________________ test_answer __________________________________
def test_answer():
> assert funx(2) == 5
E assert 3 == 5
E + where 3 = funx(2)
test_pytest1.py:8: AssertionError
=========================== 1 failed in 0.02 seconds ===========================
进入python脚本路径:pytest -q test_pytest1.py(加一个参数-q),运行结果:
[email protected]:/home/ranxf/Python3单元测试/demo# pytest -q test_pytest1.py
F
=================================== FAILURES ===================================
_________________________________ test_answer __________________________________
def test_answer():
> assert funx(2) == 5
E assert 3 == 5
E + where 3 = funx(2)
test_pytest1.py:8: AssertionError
1 failed in 0.02 seconds
两种运行结果有一点差异,就是少了一些版本信息。
3、一个测试类中创建多个测试用例:
1 # 一个测试类种创建多个测试用例 2 3 4 class TestClass: 5 def test_one(self): 6 x = "this" 7 assert "s" in x 8 9 def test_two(self): 10 x = "hello" 11 assert x == "hi"