pytest 笔记
pytest 测试目录 执行失败,因为导入失败,于是通过 python3 -m pytest 测试目录 则执行成功
参考:https://mp.weixin.qq.com/s/2ER7iEshVs3GPlOlwji4tw
(1).如果你想用pytest寻找整个文件夹下的测试用例,那么文件须以test_开头或者以test结尾。
(2).测试类以Test开头,并且不能带有 init 方法。
(3).测试函数以test开头。
(4).断言使用assert
(5).另外,pytest不支持也不打算支持中文路径,如果项目路径中有中文会报错。
(6). 所有的包pakege必须要有__init__.py文件
pycharm里以pytest方式运行,需要改该工程设置默认的运行器:file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test
cd到test_class.py的文件目录,如果只想运行这个文件,加上-q参数,-q参数用来指定执行的文件,不指定就执行该文件夹下所有的用例
模块级(setup_module/teardown_module)开始于模块始末,全局的
函数级(setup_function/teardown_function)只对函数用例生效(不在类中)
类级(setup_class/teardown_class)只在类中前后运行一次(在类中)
方法级(setup_method/teardown_method)开始于方法始末(在类中)
类里面的(setup/teardown)运行在调用方法的前后
为了写关于引发异常的断言,可以使用pytest.raises作为上下文管理器
assert xx 判断xx为真
assert not xx 判断xx不为真
assert a in b 判断b包含a
assert a == b 判断a等于b
assert a != b 判断a不等于b