Привет Я использую pytest и имею следующие файлы с двумя файлами в папке.Pytest заказы из разных файлов тестовых файлов
test_abc.py, как показано ниже:
class MyTest(unittest.TestCase):
@classmethod
def setup_class(cls):
cls.a = 10
@classmethod
def teardown_class(cls):
cls.a = 20
@pytest.mark.run(order=2)
def test_method1(self):
logging.warning('order2 in test_abc')
assert (10,self.a) # fail for demo purposes
@pytest.mark.run(order=1)
def test_method2(self):
logging.warning('order1 in test_abc')
assert 0, self.db # fail for demo purposes
test_sample2.py, как показано ниже,
class MyTest1(unittest.TestCase):
@classmethod
def setup_class(cls):
cls.a = 10
@classmethod
def teardown_class(cls):
cls.a = 20
@pytest.mark.run(order=2)
def test_mtd1(self):
logging.warning('order2 in test_samp')
assert (10,self.a) # fail for demo purposes
@pytest.mark.run(order=1)
def test_mtd2(self):
logging.warning('order1 in test_samp')
assert 0, self.db # fail for demo purposes
Теперь я бегу с помощью команды:
py.test --tb=long --junit-xml=results.xml --html=results.html -vv
Что здесь происходит test_method2 от обоих файлы сценариев запускаются сначала (поскольку он был указан как order1), а затем test_method1 запускается из обоих файлов (si сть было дать как заказ 2)
Так что я заметил здесь Упорядочение общее для тестового прогона, а не для отдельного класса/файлы
Есть ли способ, чтобы устранить эту проблему? Прямо сейчас я использую порядковый номер для всех, как первый файл i give (1,2), а затем в следующем файле я даю (3,4), и он отлично работает.
Но я не заказываю во всех тестовых классах только в нескольких местах, в которых я нуждаюсь. Есть ли крючок, чтобы сказать pytest, чтобы видеть порядок только в определенном файле?