pytest 异步,pytest详解
1.Decorator Skip和Conditional Skip 1 . pytest . mark . Skip(reason= reason )跳过测试用例的执行。有一个可选的参数reason:跳转的原因,它将被打印在执行结果中,并可以添加到函数、类下的方法和类中。如果添加到类中,类中的所有测试用例都不会执行应用程序场景:
Pytest.mark.skip可以标记无法在某些平台上运行的测试函数,或者您希望失败的测试函数在执行某些测试用例之前满足某些条件。否则,pytest将跳过运行这个测试用例的实际常见场景:跳过非Windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(比如数据库)的测试导入pytest。
@pytest.fixture(autouse=True)
定义登录():
打印(====登录===)
def测试_案例01():
打印(“我是测试用例1111”)
@pytest.mark.skip(reason=功能用例,不要执行这个用例!因为没写!)
def测试_案例02():
打印(“我是测试用例2222”)
等级测试1:
定义测试_1(自身):
打印( %%我是一个类测试用例1111 %% )
@pytest.mark.skip(reason=我是测试类下的用例,不想执行)
定义测试_2(自身):
打印( %%我是一个类测试用例2222 %% )
@pytest.mark.skip(reason=整个类下的所有用例都可以跳过不执行)
类别测试跳过:
定义测试_1(自身):
打印(“%%将不执行%%”)
if __name__==__main__ :
pytest.main()
2.pytest.mark.skipif (condition,reason= cause )函数:希望有条件地跳过一些测试用例。
注意:条件需要返回True才能被跳过。
@ pytest . mark . skip if(sys . platform== win32 ,reason=不在windows上运行)
类TestSkipIf(对象):
定义测试_功能(自身):
打印(“不能在窗口上运行”)
3.跳过变量。您可以将pytest、mark.skip和pytest.mark.skipif分配给一个标记变量,并在不同的模块之间共享该标记变量。如果多个模块的测试用例需要使用同一个pytest,mark.skip或pytest.mark.skipif,你可以使用一个单独的文件来管理这些公共标签,然后将它们应用到整个测试用例集#标签上。
Skipmark=pytest.mark.skip(原因=不能在窗口上运行====)
skipifmark=pytest . mark . skipif(sys . platform== Win32 ,reason=不能在窗口上运行====)
@skipmark
类TestSkip_Mark(对象):
@skipifmark
定义测试_功能(自身):
打印(“测试标记”)
def test_def(自身):
打印(“测试标记”)
@skipmark
def test_skip():
打印(“测试标记”)
第二,pytest。skip (msg= ,allow _ module _ level=false)跳过函数1。基本使用以上案例都是针对:跳过整个测试用例方法的执行。如果你想在测试用例的执行过程中跳过,你需要使用skip函数。
角色:在测试用例执行过程中,强制skip停止执行剩余的内容。
类似:在Python的循环中,如果满足一定的条件,break就会跳出循环。
def测试函数():
n=1
虽然正确:
打印(f 这是我的第{n}个用例)
n=1
如果n==5:
Pytest.skip(我跑了五次就不跑了)
2.跳过整个模块。当allow_module_level=True时,可以设置在模块级别跳过整个模块。
导入系统
导入pytest
if sys.platform.startswith(win ):
pytest.skip(跳过仅windows测试,allow_module_level=True)
@pytest.fixture(autouse=True)
定义登录():
打印(====登录===)
def测试_案例01():
打印(“我是测试用例1111”)
三。Pytest。ImporterSkip模块导入检测Pytest。ImporterSkip (modname: str,minversion: optional [str]=none,reason: optional [str]=none)函数:如果缺少一些导入,模块中的所有测试都会被跳过。
参数列表
Modname:模块名minversion:版本号原因:跳过原因。默认不给的话,可以。P expect=pytest . importorskip( P expect ,minversion= 0.3 )
@ PE expect
def测试_导入():
打印( test )执行结果1:如果找不到模块
执行结果1:如果版本不一致
参考:小菠萝
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。