您的位置:首页 > 娱乐 > 八卦 > 模板建站哪家好_2021湖南疫情最新情况_ps培训_aso排名服务公司

模板建站哪家好_2021湖南疫情最新情况_ps培训_aso排名服务公司

2024/12/21 19:34:59 来源:https://blog.csdn.net/daxiashangxian/article/details/144458262  浏览:    关键词:模板建站哪家好_2021湖南疫情最新情况_ps培训_aso排名服务公司
模板建站哪家好_2021湖南疫情最新情况_ps培训_aso排名服务公司

fixture是pytest特有的功能,用以在测试执行前和执行后进行必要的准备和清理工作。使用pytest.fixture标识,定义在函数前面。在你编写测试函数的时候,你可以将此函数名称做为传入参数,pytest将会以依赖注入方式,将该函数的返回值作为测试函数的传入参数。
主要的目的是为了提供一种可靠和可重复性的手段去运行那些最基本的测试内容。
从功能上看来,与setup、teardown相似,但是优势明显:

调用方法有2种:

  • 1、在测试用例/测试类上面加上:@pytest.mark.usefixture("fixture的函数名字")

  • 2、将fixture函数名,作为测试用例函数的参数。可以不加@pytest.mark.usefixture("fixture的函数名字")

import pytest@pytest.fixture()
def init2():print("用例执行之前,执行的代码")  # 只有模块执行之前的前置准备代码@pytest.mark.usefixtures('init2')
def test_1():print('test_2')@pytest.mark.usefixtures('init2')
def test_2():print('test_2')if __name__ == "__main__":pytest.main(['-v', '-s','test3.py']) #

 

import pytest@pytest.fixture
def init():print("用例执行之前,执行的代码")  # 前置代码yield 'hello'print("用例执行之后,执行的代码")  # 后置代码@pytest.fixture()
def init2():print("用例执行之前,执行的代码")  # 只有模块执行之前的前置准备代码def test_1(init):print('test_2',init)@pytest.mark.usefixtures('init2')
def test_2():print('test_2')if __name__ == "__main__":pytest.main(['-v', '-s','test3.py']) #

import pytest@pytest.fixture
def init():print("用例执行之前,执行的代码")  # 前置代码yield 'hello'print("用例执行之后,执行的代码")  # 后置代码@pytest.fixture()
def init2():print("用例执行之前,执行的代码")  # 只有模块执行之前的前置准备代码def test_1(init):print('test_2',init)@pytest.mark.usefixtures('init2')
def test_2():print('test_2')@pytest.fixture()
def data():return "hello"def test_data(data):print("============",data)if __name__ == "__main__":pytest.main(['-v', '-s','test3.py']) #

 feature 嵌套

import pytest@pytest.fixture
def init():print("用例执行之前,执行的代码")  # 前置代码yield 'hello'print("用例执行之后,执行的代码")  # 后置代码@pytest.fixture
def init3(init):print("用例执行2之前,执行的代码")  # 前置代码yield initprint("用例执行2之后,执行的代码")  # 后置代码def test_3(init3):assert init3 == 'hello'if __name__ == "__main__":pytest.main(['-v', '-s','test3.py']) #

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com