генератор тестового класса pytest: порядок тестов - PullRequest
0 голосов
/ 22 февраля 2019

Я создал генератор тестового класса:

import pytest

def t_1(self):
    print("1")
    assert True
def t_2(self):
    print("2")
    assert True
def t_3(self):
    print("3")
    assert True


new_cls = type("TestClass", (), 
        {   
            "test_1": t_1,
            "test_0": t_2,
            "test_2": t_3 
        })  
TestClass = new_cls

Вывод (python3 -m pytest -s test.py):

1
2
3

Мой вопрос: как в этих сценариях как упорядочитьиз тестов определяется?Например, если мои функции, которые я использую, определены в других модулях (или в функциях), как мне узнать, в каком порядке будут выполняться эти тесты?

1 Ответ

0 голосов
/ 23 февраля 2019

Сначала ваши пакеты сортируются в алфавитном порядке, затем тестовые модули, тестовые классы и, наконец, тестовые функции.

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

Если вы хотите применить свой собственный порядок, попробуйте хук "pytest_collection_modifyitems" или некоторые плагины, такие как "pytest-ordering".

...