Можно ли передать параметр в крепление для демонтажа в python?
У меня есть куча тестовых методов, которые мне нужно запустить, а затем после каждого теста я хочу обновить свои результаты где-нибудь еще. Вот что у меня есть:
@pytest.mark.testcasename('1234')
@pytest.mark.parametrize('lang',
["EN", "FR"])
def test_text(self, request, base_url, lang):
testrail_conn = TestrailHelper()
test_case_id = request.node.get_marker("testcasename").args[0]
base_url = base_url.replace("testEN", "testFR") if lang == "FR" else base_url
self.navigate(base_url)
self.wait_for_page_loaded()
results = self.check_text(lang)
try:
assert results
testrail_conn.update_test_status(test_case_id, test_result=1)
except AssertionError:
testrail_conn.update_test_status(test_case_id, test_result=5)
Моя проблема в том, что я хочу, чтобы update_test_status находился в приспособлении для разрыва, где я мог бы передать ему свой test_result. Таким образом, мне не нужно писать один и тот же код для каждого метода тестирования. Есть идеи?
Спасибо
1 ответ
Вы можете хранить что-то на request
объект, например, на request.node
- см. документы. В качестве альтернативы, вы можете использовать свой прибор (в качестве аргумента) из теста и сохранить что-то там - или заставить прибор возвращать / давать какую-то структуру данных для хранения вещей.