У меня есть несколько юнит-тестов с дорогостоящей настройкой. Я хотел бы сгруппировать их и выполнить эту инициализацию только один раз для данной группы тестов. Я просмотрел setUpClass
, но он не работает в иерархии. У меня есть много тестов, полученных из одного и того же базового теста, и в конечном итоге они будут совместно использовать состояние с использованием методов класса.
Например, у меня есть такая иерархия тестовых случаев:
TreeBase
<- PineTests
<- NeedleTests
<- ConeTests
Все тесты семейства TreeBase
используют дорогостоящую инициализацию. Однако это должно быть сделано для каждого производного класса отдельно (состояние уникально для наиболее производного TestCase). Итак, я хочу такой поток:
- Вызов PineTests::setup
- Вызов тестов PineTests
- Вызов PineTests::teardown
- Повторите для NeedleTests, ConeTests