До сих пор мы использовали python unittest framework.Теперь мы хотели бы начать использовать pytest по следующим причинам:
- отчет junit xml для jenkins
- Параллельное выполнение с pytest-xdist
НашСуществующая структура тестирования включает в себя случаи, когда несколько классов тестирования были получены из одного класса, который является тем, который получен из unittest.TestCase
, таким образом, они разделяют один и тот же setUp/tearDown
.Я полагаю, что в pytest это делается с помощью fixture.
Когда мы пытаемся запустить нашу папку тестов с помощью pytest, в случае, если классы напрямую получены из unittest.TestCase
, тесты работают нормально.Однако, если классы получены из нашего класса (как показано ниже), происходит сбой pytest с помощью Abort (основной дамп).
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):