pytest学习记录
测试文件名必须以test_开头或者_test结尾,可大写也可小写
测试函数必须以test开头,严谨一致
测试类必须以Test开头,严谨一致
pytest内置函数:
.`tmp_path`(唯一临时目录)
.
查看更多内置函数:pytest --fixtures
通过pytest --trace-config命令可以查看当前pytest中所有的plugin
- 只想测试某些测试用例:使用
-k模糊匹配 - 跳过个别测试用例:
@pytest.mark.skip() - 捕捉异常:
pytest.raises - 多组数据测试:
@pytest.mark.parametrize(argnames, argvalues),例:@pytest.mark.parametrize('data', [1, 2, 3]) - 更细跟踪固件执行:
--setup-show - 阻止消息被吞:
-s - 内置固件:
request,其属性param - 使用
pytestconfig,可以很方便的读取命令行参数和配置文件 - 执行标记测试用例:
pytest.mark.finished、pytest.mark.unfinished
模块级、函数级、类级、方法级
模块级别:在当前模块中的所有测试用例执行之前以及执行之后仅会执行一次(setup_module/teardown_module)
函数级别:在每个函数测试用例执行之前会执行一次(setup_function/teardown_function)
类级别:测试类中的所有测试用例执行之前仅执行一次(setup_class/teardown_class)
方法级别:测试类中的每个测试用例执行之前会执行一次(setup_method/teardown_method)
fixture的conftest.py
测试固件对象的调用方法有3种:
-
直接作为测试函数或者测试类中的方法参数传入,就是要写自定义固件
@pytest.fixture接自定义函数,然后将自定义函数名传给测试的方法。 -
使用pytest.mark.usefixture装饰测试函数或者测试方法。注意:此方法的测试固件需要通过全局变量来进行传递。
-
直接通过测试固件自带的属性autouse完成固件的应用操作,只需要将autouse的值设置为True,测试函数和方法可以直接调用其声明的全局对象。
本文来自博客园,作者:27岁的太阳,转载请注明原文链接:https://www.cnblogs.com/isxjj/p/15774945.html

浙公网安备 33010602011771号