我们上一篇博客简单介绍了pytest框架,最后也了解了pytest的运行规则如下:
这篇博客我们一起看一下pytest框架写的用例运行方式都有哪些
CSDN
- pytestpackage
-- test_01pytest.py
-- test_02run.py
-- test_03test_fun.py
------------------------------------------------------------------------------
**test_01pytest.py**
class TestClassOne:
def test_pytestone_1(self):
print('断言成功')
assert "pass" == "pass"
def test_pytestone_2(self):
print('断言失败')
assert 'pass' == 'failure'
------------------------------------------------------------------------------
**test_02run.py**
class TestClassTwo:
def test_pytesttwo_1(self):
print('run断言成功')
assert "runpass" == "runpass"
def test_pytesttwo_2(self):
print('run断言失败')
assert 'runpass' == 'failure'
------------------------------------------------------------------------------
**test_03test_fun.py**
# 此py模块里的用例没有在类中,模拟下面3.3的用例规则
def test_func():
assert 'pass' == 'pass'
常见的是第一个执行方式,好记、简单;博主也一般使用第一种方式来执行
会运行pytestpackage包下所有的用例,会执行五条用例
pytest pytestpackage
pytest test_01pytest.py
只会运行test_01pytest.py模块下面的两条用例
test_func 用例不在类中,直接写在py文件中
pytest test_03test_fun.py::test_func
test_pytesttwo_1 用例 在 TestClassTwo 类中
pytest test_02run.py::TestClassTwo::test_pytesttwo_1
这个会执行文件名,类名以及函数名与给定的字符串表达式相匹配的测试用例
会执行 TestMyClass.test_something 但是不会执行TestMyClass.test_method_simple
pytest ‐k "MyClass and not method"
将运行用@ pytest.mark.slow装饰器修饰的所有测试
pytest -m slow
这种方式会导入pkg.testing,并且基于该包所在位置来查找并运行测试用例
pytest --pkg.testing
用例执行失败后,就会停止运行,不会再运行下面的用例了
pytest -x test_01pytest.py
ps :
1、后续内容继续深入pytest的学习;
2、有什么问题,欢迎大家评论区评论交流!谢谢大家!
3、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !