发现用例的规则
a) 文件test_.py开头和_test.py结尾
b) Test开头的类中test开头的方法(测试类不能带有__init__方法)
c) 模块中test开头的函数(可以不在class中)
注意点:
pytest是以方法为单位发现用例的,你写不写测试类根本不重要
在哪个目录下执行pytest就在哪个目录下按照上述规则去查找
自定义查找规则:pytest.ini
用例执行顺序
Unittest用例执行顺序(pytest可以执行unittest框架写的用例和方法)
根据ASCII码来排序
Pytest用例执行顺序
文件名称按ASCII码排序
文件内根据定义的方法的先后顺序,从上到下执行
参数解析
pytest / py.test
打印详细运行日志信息:pytest -v (最高级别信息-verbose)
s是带控制台输出结果,也是输出详细,可以打印测试用例中print的输出:pytest -v -s 文件名
执行单独一个pytest模块:pytest 文件名.py
运行某个模块里面某个类:pytest 文件名.py::类名
运行某个模块里面某个类里面的方法:pytest 文件名.py::类名::方法名
跳过某个用例:pytest -k "类名 and not 方法名",如pytest -k "TestDemo and not test_one"
运行带有某标记的测试用例(pytest.mark.标记名):pytest -m 标记名
一旦运行到报错就停止运行:pytest -x 文件名
当错误达到num的时候就停止运行:pytest --maxfile=[num]
pycharm配置与执行pytest
运行方式:pytest.main([“-v”, “TestDemo”]) (所有的参数和pytest命令行方式是一样的)
以类的形式定义测试类型 类的名称必须大写,如下
class Test_login:
不这样写,就出现一下现象