Пропустить тест изнутри прибора - PullRequest
0 голосов
/ 14 сентября 2018

Допустим, у меня есть прибор, которому требуется живая база данных.

Если действующей базы данных не существует, я хочу пропустить тесты, которые зависят от этого устройства.

На данный момент я должен вручную пометить тесты, чтобы пропустить, что кажется излишним:

@pytest.fixture
def db_client():
  DB_URI = os.getenv('DB_URI')
  # Set up DB client and yield it

@pytest.mark.skipif(not os.getenv('DB_URI'))
def test_some_feature(db):
  # Use db fixture
  ...

1 Ответ

0 голосов
/ 14 сентября 2018

Звоните pytest.skip внутри прибора:

@pytest.fixture
def db():
    db_uri = os.getenv('DB_URI', None)
    if not db_uri:
        pytest.skip('No database available')
    else:
        # Set up DB client and yield it
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...