ОТВЕТ: Я не очищал свои ConnectionPools.
Решенный сценарий:
SetUp:
- Проверьте, чтобы увидетьесли база данных «TEMP_NUnit» (SQL Server 2005) существует на локальном экземпляре
- Если он существует, удалите его.
- Создайте новую пустую базу данных с именем «TEMP_NUnit».
Тест:
- Создание компонента «Обновление базы данных».
- Убедитесь, что основные свойства компонента по умолчанию установлены правильно.
- Наведите компонент напустая база данных и вызов .Upgrade ()
- Убедитесь, что обновление действительно сработало
TearDown:
SqlConnection.ClearAllPools();
- Dropбаза данных 'TEMP_NUnit'.
Исходный вопрос находится ниже сгиба.
Hi All
Сценарий тестирования:
SetUp:
- Проверьте, существует ли база данных TEMP_NUnit (SQL Server 2005) на локальном экземпляре
- Если он существует, удалите его.
- Создайте новую пустую базу данных с именем «TEMP_NUnit».
Тест:
- Создание компонента «Обновление базы данных».
- Проверкачто основные свойства компонента по умолчанию установлены правильно.
- Наведите компонент на пустую базу данных и вызовите .Upgrade ()
- Убедитесь, что обновление действительно работает
TearDown:
- Удалите базу данных 'TEMP_NUnit'.
Все будет хорошо, пока я не достигну фазы TearDown.Я всегда получаю следующую ошибку:
Невозможно удалить базу данных "TEMP_NUnit", поскольку она используется в данный момент.
Это сбивает с толку меня, потому что я закрываю (явновызов conn.Close в операторах finally) и правильное удаление (с помощью оператора using) всех моих объектов DbConnection.К моменту появления TearDown в базе данных «TEMP_NUnit» не должно быть ничего запущенного.
Если я закрою NUnit, а затем снова открою его, шаг 2 в SetUp всегда работает первым.
Я не уверен, что я делаю здесь не так.Любые указатели в правильном направлении будут оценены.