Python教程之pytest命令行方式运行用例
什么是pytest
pytest是Python中一个全功能的测试框架。它能够使得测试变得简单易用、可读性强。pytest支持不同范围测试(单元测试、功能测试等),使用起来也比较容易。
安装pytest
在安装pytest前,需要保证已经安装了python。
安装pytest的方式有多种,这里介绍最常用的几种:
- 使用pip方式安装
pip install pytest
- 下载源代码,解压后进行安装
首先,需要从pytest官网下载pytest源代码。下载完成后,在安装目录下执行以下命令:
python setup.py install
运行pytest
运行pytest有两种方式:
- 使用pytest命令行运行
运行指定的测试文件:
pytest test_sample.py
运行指定的测试函数:
pytest test_sample.py::test_demo
- 使用pytest程序运行
在python文件中使用pytest程序运行:
import pytest
def func(x):
return x + 1
def test_answer():
assert func(3) == 5
if __name__ == '__main__':
pytest.main(["-q", "test_sample.py"])
pytest命令行运行用例示例1
新建一个测试用例文件test_addition.py,代码如下:
def add_numbers(x, y):
return x + y
def test_add_numbers():
assert add_numbers(2,3) == 5
运行测试用例文件:
pytest test_addition.py
运行结果如下:
=============================== test session starts ==================================
platform win32 -- Python 3.9.1, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
rootdir: D:\demo\pytest
collected 1 item
test_addition.py . [100%]
=============================== 1 passed in 0.03s ===================================
可以看到,测试用例运行成功,通过了单元测试。
pytest命令行运行用例示例2
新建一个测试用例文件test_subtraction.py,代码如下:
def subtract_numbers(x, y):
return x - y
def test_subtract_numbers():
assert subtract_numbers(2,3) == -1
运行测试用例文件:
pytest test_subtraction.py
运行结果如下:
=============================== test session starts ==================================
platform win32 -- Python 3.9.1, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
rootdir: D:\demo\pytest
collected 1 item
test_subtraction.py F [100%]
=================================== FAILURES ===================================
_________________________________ test_subtract_numbers _____________________________
def test_subtract_numbers():
> assert subtract_numbers(2,3) == -1
E assert -1 == -1
E + where -1 = subtract_numbers(2, 3)
test_subtraction.py:6: AssertionError
============================= short test summary info ==============================
FAILED test_subtraction.py::test_subtract_numbers - assert -1 == -1
=============================== 1 failed in 0.05s ===================================
可以看到,测试用例运行失败,返回了错误信息,测试未通过。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python教程之pytest命令行方式运行用例 - Python技术站