Вопрос

Я хочу протестировать приложение ASP.NET с использованием NUnit, но кажется, что коллекция WebConfigurationManager.ConnectionStrings пуста при запуске из графического интерфейса NUnit.

Не могли бы вы рассказать мне, как инициализировать эту коллекцию (вероятно, в функции [SetUp] [TestFixture])?Должен ли я скопировать куда-нибудь Web.config?

Спасибо!

Это было полезно?

Решение

Если у вас есть сборка модульного теста с именем Company.Component.Tests.dll, просто убедитесь, что Company.Component.Tests.dll.config присутствует с правильной строкой подключения.

Кроме того, может быть хорошей идеей отделить класс поставщика соединений от конфигурации, чтобы у вас была гибкость в сохранении (т. е.:переключение с *.config на что-то другое) и упрощение тестирования.

Также посмотрите "Как NUnit находит файлы конфигурации"

Другие советы

Расположение файла NUnit .config зависит от того, как вы создали файл проекта NUnit.

Расположение файлов .config для тестов NUnit немного сложнее, чем предполагают другие сообщения здесь.Для этого есть настройки в диалоговом окне «Проект/Редактирование» NUnit GUI.Все значения по умолчанию зависят от того, как вы создали файл проекта NUnit.

Когда вы открываете графический интерфейс NUnit и выбираете «Файл/Открыть», а затем выбираете файл .dll, новый проект настраивается с настройками для поиска файла конфигурации с тем же именем, что и dll, в том же каталоге.Итак, если вы загрузили \bin\debug\MyTests.dll NUnit ищет \bin\Debug\MyTests.dll.config по умолчанию.Единственная беда здесь в том, что при создании релизной сборки нужно создавать отдельный проект NUnit.

Если вы создали проект NUnit, выбрав «Файл/Новый проект», то по умолчанию используется поиск файла конфигурации с тем же именем, что и у проекта NUnit.Итак, если вы создали \MyNUnitProject.nunit NUnit ищет \MyNUnitProject.config по умолчанию.

Скорее всего, вы использовали Visual Studio для создания \App.config файл и поместил его в исходную папку вашей тестовой dll.Когда вы создаете свой тестовый проект, он копируется в \bin\Debug\MyTests.dll.config или \bin\Release\MyTests.dll.config в зависимости от выбранной вами конфигурации.Если вы открыли MyTest.dll непосредственно в NUnit, это будет работать нормально, однако, если вы создали новый проект NUnit, у вас возникнут проблемы, поскольку по умолчанию он не будет искать эти файлы.

Чтобы решить эту проблему, вам необходимо открыть диалоговое окно «Проект/Редактировать» в графическом интерфейсе NUnit и убедиться, что у вас есть две конфигурации «Отладка и выпуск», соответствующие вашему проекту .Net.После этого вы можете выбрать конфигурацию отладки и установить для ApplicationBase значение bin\Debug\ и установите имя файла конфигурации на MyTests.dll.config.Сделайте то же самое для конфигурации выпуска и все готово.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top