Фреймворк DbUnit для тестирования уровня DAO - PullRequest
1 голос
/ 05 августа 2011

Обычно мы даем входной файл из setup () для вставки данных, чтобы он вставлял данные каждый раз для каждого теста и, наконец, очищал их после теста.

Но эти данные для всех тестов, и оночень много накладных расходов, если количество тестов больше.Поэтому, если есть какой-либо способ, которым я могу дать тестовый входной файл (xml), чтобы этот конкретный файл был вставлен DbUnit из setUp (), чтобы было меньше накладных расходов.Благодарю.

1 Ответ

1 голос
/ 05 августа 2011

Я заметил, что вы пометили Spring, вы можете написать org.springframework.test.context.TestExecutionListener, чтобы сделать то, что вам нужно (продлить AbstractTestExecutionListener).

В beforeTestMethod(...) загрузить данные с помощью DbUnit. Используйте TestContext, чтобы получить информацию, касающуюся testClass или testMethod, и на основе этого решить, какой набор данных загрузить. Например, вы можете создать новую аннотацию, чтобы указать, какой набор данных загружать для метода тестирования.

Выгрузите набор данных в afterTestMethod(...) (если не используются транзакционные тесты и данные, вставленные как часть транзакции).

Зарегистрируйте TestExecutionListener, используя аннотацию @TestExecutionListeners (важно указать его после TransactionalTestExecutionListener, если вы используете его и хотите, чтобы вставка набора данных была частью транзакции).

Надеюсь, это поможет.

...