До сих пор мы использовали фреймворк python unittest. Теперь мы хотели бы начать использовать pytest по следующим причинам:
- отчет junit xml для jenkins
- Параллельное выполнение с pytest-xdist
Наша существующая среда тестирования включает случаи, когда несколько тестовых классов являются производными от одного класса, который на месте является производным от unittest.TestCase
, таким образом, они имеют один и тот же setUp/tearDown
. В pytest я считаю, что это делается с помощью приспособления.
Когда мы пытаемся запустить нашу папку тестов с помощью pytest, в случае, если классы напрямую получены из unittest.TestCase
, тесты работают нормально. Однако, если классы являются производными от нашего класса (как показано ниже), происходит сбой pytest с прерыванием (дамп ядра).
class l2_acl_base(unittest.TestCase):
def setUp(self):
self.device_name = '/dev/testdev'
self.create_system_setup()
self.create_packets()
def tearDown(self):
self.device.tearDown()
class acl_force_destination(l2_acl_base):
def test_acl_force_destination(self):
python [1] 1173852 IOT instruction (core dumped) pytest
- person Alon Barad   schedule 12.05.2021