Я заметил, что вы пометили Spring, вы можете написать org.springframework.test.context.TestExecutionListener
, чтобы сделать то, что вам нужно (продлить AbstractTestExecutionListener
).
В beforeTestMethod(...)
загрузить данные с помощью DbUnit. Используйте TestContext, чтобы получить информацию, касающуюся testClass или testMethod, и на основе этого решить, какой набор данных загрузить. Например, вы можете создать новую аннотацию, чтобы указать, какой набор данных загружать для метода тестирования.
Выгрузите набор данных в afterTestMethod(...)
(если не используются транзакционные тесты и данные, вставленные как часть транзакции).
Зарегистрируйте TestExecutionListener
, используя аннотацию @TestExecutionListeners
(важно указать его после TransactionalTestExecutionListener
, если вы используете его и хотите, чтобы вставка набора данных была частью транзакции).
Надеюсь, это поможет.