Я пишу тесты для веб-приложения, и иногда требуется некоторое время, чтобы изменения были видны на рабочем сервере. Я не хотел, чтобы эти тесты провалились, но я также не хотел их игнорировать. Таким образом, я хочу пометить такие тесты как xfail при работе на производственном сервере, но мне не удается получить доступ к объекту параметров в маркировке, к которой можно получить доступ внутри тестового набора. Как только эти тесты пройдут с XPASS, маркировка будет удалена. Также эти тесты не должны быть
Есть ли возможность сделать это?
@pytest.mark.xfail(
options.getini("base_url") == options.getini("production_server"),
reason="Change not yet deployed to the production server")
def test_apidoc(self, request, base_url):
Единственный обходной путь, который я вижу, это:
def test_apidoc(self, request, base_url):
not_production_ready(request)
if request.config.getoption("base_url") == request.config.getini("production_server"):
pytest.xfail("Changes not yet deployed to the production")
pass
, но это будет проигнорируйте тест немедленно.