记录一下fixture
中关于yield
以及autouse
参数的两个小细节。
yield
yield
在fixture
中起到了唤起teardown
的作用,同时也可以和return
一样返回值。
但yield
和return
的区别是:
return
执行完成,该函数终止;
yield
在返回结束后,后续的代码仍可执行。
autouse
@pytest.fixture
装饰器中,如果传递参数autouse=true
,代表此函数会在规定的scope
参数范围内自动执行,且不需要在测试方法中进行引用。
但如果想要用到fixture
函数中的yield
的返回值,则在测试方法的参数中一定要引用对应的fixture
函数,所以,一般自动执行的fixture
函数是没有返回值的。
网友评论