Настроить тесты для сбора Pytest - PullRequest
1 голос
/ 18 октября 2019

Я бы хотел избежать использования префикса «test» в именах классов и функций и реализовать собственную схему параметризации теста. Я выполнил следующий кодне выполняется для функции "some_global_test".

Я нашел решение, вызову collector._genfunctions(name, obj) с моего хука. Но я думаю, что это неправильное решение, потому что _genfunctions является частным методом и не объявлен.

Есть ли другой способ решить мою задачу?

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Если вы хотите изменить только префикс тестов, вы можете установить пользовательские параметры python_functions и python_classes в pytest.ini.

Для получения дополнительной информации перейдите по ссылке .

0 голосов
/ 05 ноября 2019

Итак, никто не знает ответ, и я решил предложить свое решение (оно может быть полезно для других):

    class TestBaseClass:
        __test__ = True

    def mark_test(f):
        setattr(f, "__test__", True)
        return f

    # using base class and decorator
    class MyTestClass(TestBaseClass):
        @mark_test
        def some_func(self):
            pass

Pytest использует атрибут __test__ для обнаружения тестов на нос, поэтому вы можете использоватьНос-библиотека или просто используйте такой базовый класс и декоратор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...