Тесты с ошибками проверки ограничений, не обнаруженными при использовании AbstractTransactionalSpringContextTests (откат) - PullRequest
1 голос
/ 10 июня 2011

В большинстве моих интеграционных тестов пружина AbstractTransactionalSpringContextTests используется для отката вместо фиксации в базе данных. Это нормально работает, но поскольку ограничения внешнего ключа не применяются до этапа фиксации, в моей стратегии тестирования есть дыра.

Как я могу улучшить свои тесты?

Я хочу по возможности избегать коммитов, так как это приводит к тому, что тесты выполняются намного дольше (когда их много)

1 Ответ

0 голосов
/ 10 июня 2011

Я понимаю, что вы не хотите фиксировать в базе данных, например очистить сеанс, но производительность может быть приемлемой, если для этого используется база данных sqlite в памяти.

Я провел модульные тесты, используя NHibernate (с Fluent NHibernate) и базу данных sql-lite в памяти ( как здесь ); это работает довольно быстро, пока вы создаете только соответствующие части вашей базы данных вместо полной схемы.

Вы можете легко расширить класс AbstractTransactionalSpringContextTests для сброса в БД, см. Документы spring.net 22.2.10 или в этой теме на форуме spring.net , поэтому вы должны быть в состоянии быстро заставить это работать для вашего набора тестов.

...