栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过自我而不是方法参数的类的Pytest夹具

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过自我而不是方法参数的类的Pytest夹具

当然,只需使用自动使用的夹具即可。这是

pytest
docs中的相关位置。在您的示例中,更改将引入一个额外的固定装置(我将其命名为
_request_google_page
):

from bs4 import BeautifulSoupimport pytestimport requests@pytest.fixture()def google():    return requests.get("https://www.google.com")class TestGoogle:    @pytest.fixture(autouse=True)    def _request_google_page(self, google):        self._response = google    def test_alive(self):        assert self._response.status_pre == 200    def test_html_title(self):        soup = BeautifulSoup(self._response.content, "html.parser")        assert soup.title.text.upper() == "GOOGLE"

您甚至可以完全放下

google
灯具并将代码移至
_request_google_page

@pytest.fixture(autouse=True)def _request_google_page(self):    self._response = requests.get("https://www.google.com")

请注意,

_request_google_page
默认情况下每个测试都会调用一次,因此每个测试都会获得新的响应。如果您希望响应被初始化一次并在
TestGoogle
类中的所有测试中重新使用,请调整灯具范围(
scope='class'
for
_request_google_page
scope='module'
or
scope='session'
for
google
)。例:

from bs4 import BeautifulSoupimport pytestimport requests@pytest.fixture(scope='module')def google():    return requests.get("https://www.google.com")@pytest.fixture(autouse=True, scope='class')def _request_google_page(request, google):    request.cls._response = googleclass TestGoogle:    def test_alive(self):        assert self._response.status_pre == 200    def test_html_title(self):        soup = BeautifulSoup(self._response.content, "html.parser")        assert soup.title.text.upper() == "GOOGLE"


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号