Есть ли способ определить метку в приборе PyTest?
Я пытаюсь отключить медленные тесты, когда я указываю -m "not slow"
в pytest.
Мне удалось отключить отдельные тесты, но я не могу использовать прибор для нескольких тестов.
Мой код прибора выглядит следующим образом:
@pytest.fixture()
@pytest.mark.slow
def postgres():
# get a postgres connection (or something else that uses a slow resource)
yield conn
, и несколько тестов имеют такую общую форму:
def test_run_my_query(postgres):
# Use my postgres connection to insert test data, then run a test
assert ...
Я нашел следующий комментарий в https://docs.pytest.org/en/latest/mark.html:
«Метки могут применяться только к тестам, не влияющим на приборы». Является ли причиной этого комментария то, что приборы - это, по сути, вызовы функций, а метки можно указывать только во время компиляции?
Можно ли указать, что все тесты, использующие конкретный прибор (в данном случае postgres), могут быть отмеченыкак медленно без указания @pytest.mark.slow
на каждом тесте?