Pytest命令行常见参数
1、常见命令行
--help
-x 用例一旦失败(fail/error),就立刻停止执行
--maxfail=num 用例失败达到num次,就立刻停止执行
-m 标记用例
-k 执行包含某个关键字的测试用例
-v 打印详细日志
-s 打印输出日志(一般-vs一块儿使用)
--collect-only(测试平台,pytest 自动导入功能 )
2、使用缓存状态
pytest --lf(--last-failed) 只重新运行故障,上次运行结果没有故障,则运行全部用例
pytest --ff(--failed-first) 先运行故障,然后在运行其余的测试用例
3、Python 代码执行 pytest
使用 main 函数
使用 python -m pytest 调用 pytest(jenkins 持续集成用到)
if __name__ == '__main__':
# 1、运行当前目录下所有符合规则的用例,包括子目录(test_*.py 和 *_test.py)
pytest.main()
# 2、运行test_mark1.py::test_str模块中的某一条用例
pytest.main(['test_mark1.py::test_'str,'-vs'])
# 3、运行某个 标签
pytest.main(['test_mark1.py','-vs','-m','str'])
运行方式
`命令行输入:python test_*.py
示例:
import pytest
class TestDemo:
@pytest.mark.str_demo
def test_demo_str(self):
print("case1")
@pytest.mark.list_demo
def test_demo_list(self):
print("case2")
@pytest.mark.set_demo
def test_demo_set(self):
print("case3")
if __name__ == '__main__':
# 运行当前目录下所有符合规则的用例
# pytest.main()
# 运行模块中的test_demo_str用例
# pytest.main(['test_command_parameter.py::TestDemo::test_demo_str','-vs'])
# 运行list_demo标签的用例
pytest.main(['test_command_parameter.py::TestDemo', '-vs', '-m', 'list_demo'])