Как попросить Pytest запустить определенный тест в скрипте Python? - PullRequest
0 голосов
/ 02 января 2019

Если в скрипте запущено несколько тестов, например ::1001*

import pytest

@pytest.mark.parametrize("test_input,expected", [
    ("3+5", 8),
    ("2+4", 6),
    ("6*9", 42),
])
def test_eval(test_input, expected):
    assert eval(test_input) == expected

@pytest.mark.parametrize('test_input,expected', [
        (1,1),
        (2,2),
        (2,3),
        ])
def test_equal(test_input,expected):
    assert test_input == expected


if __name__ == '__main__':
    '''
    Test Zone!
    '''
    #executing the tests
    pytest.main([__file__]) 

Как я могу использовать последнюю строку pytest.main([__file__]) для запуска одного из тестов за один раз вместо одновременного запуска всех из них?

1 Ответ

0 голосов
/ 02 января 2019

Использование pytest.main() действует как вызов pytest из командной строки в соответствии с документацией pytest . Вы можете передавать команды и аргументы для этого, что позволяет вам использовать -k флаг для указания тестов с помощью выражения ключевого слова:

pytest.main(["-k", "test_func"])

Вы также можете указать тесты через идентификатор узла :

pytest.main(["test_mod.py::test_func"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...