关于pytest的学习
pytest是一个测试框架,可以非常简单的建立易用性好,扩展性强的测试集。这些测试因为避免了大量的样板代码,可以读性非常高。
安装pytest:
pip install -U pytest
注:-U指的事升级安装,如果已经有这个软件则执行升级到最新版本,没有则安装!
pytest会根据Convensions for python test discovery查找所有的测试用例,可以找到当前目录下的所有以 test_ 开头的文件及其包含的以 test_ 开头的测试函数。
指定测试用例:
-
对指定模块进行测试:
pytest test_mod.py
-
对指定文件夹进行测试:
pytest testing/
-
通过关键字表达式来进行测试:
pytest -k "MyClass and not method"
注:这种方式会执行与给定字符串匹配的用例,例如会执行TestClass.test_something,但不会执行TestClass.test_method_simple。 and not 在这里是表达式,表示未经过测试。
-
通过::指定运行模块中指定的测试用例:
pytest test_mod.py::test_func
或:
pytest test_mod.py::TestClass::test_method
-
通过标记符来进行测试:
pytest -m slow
注:这种方式会运行所有通过装饰器@pytest.mark.slow进行修饰的测试用例。
-
通过包来运行:
pytest --pyargs pkg.testing
注:这种方式会导入pkg.testing,并且基于该包所在位置来查找并运行测试用例。
pytest的功能:
- 有关失败的断言语句的详细信息;
- 自动发现测试模块和功能;
- 用于管理小型或参数化长寿命测试资源的模块化夹具;