Как закрыть или «деинициализировать» замок ActiveRecord? - PullRequest
1 голос
/ 23 декабря 2009

Я запускаю несколько модульных тестов с использованием Castle ActiveRecord, которые взаимодействуют с базой данных. У меня есть процедура, чтобы удалить базу данных (если она существует), а затем заново создать ее, прежде чем я буду взаимодействовать с ней в каждом тесте.

Если я запускаю один тест, это прекрасно работает.

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

Есть ли какой-нибудь способ в замке ActiveRecord сказать ему закрыть и отпустить базу данных?

1 Ответ

3 голосов
/ 23 декабря 2009

Вместо удаления всей базы данных я рекомендую удалить и заново создать схему .

Чтобы удалить схему: ActiveRecordStarter.DropSchema();

Для создания схемы: ActiveRecordStarter.CreateSchema();

Для повторной инициализации ActiveRecord: ActiveRecordStarter.ResetInitializationFlag();, а затем перенастроить его.

См. Руководство по тесту base AR .

Для тестирования рекомендую взглянуть на новый InMemoryTest .

См. Также: документы для модульного тестирования ActiveRecord .

...