#testing #nunit
#тестирование #nunit
Вопрос:
Мой тест завершается неудачей. Мне стало грустно. Итак, я запустил отладку и обнаружил, что исключение NullReferenceException возникает из-за строки ниже.
System.Configuration.ConfigurationManager.GetSection("blopp")
Этого не происходит, когда я фактически запускаю тестируемую программу (хотя указанный вызов выполняется не непосредственно в программе, а в одной из ее библиотек).
Это плохой дизайн кода или мне следует рассмотреть другой подход к тестированию? Возможно, есть способ подделать — в отсутствующей строке конфигурации? Я в полной нерешительности…
Комментарии:
1. Вы тестируете библиотеку, которая выполняет вызов GetSection? Есть ли в этой библиотеке файл app.config, содержащий этот раздел?
2. @MattyB Да. И да. Но есть много странных зависимостей, поэтому я боюсь, что это никуда меня не приведет …
![]()
3. Используете ли вы NUnit.exe ? Иногда, если вы выполняете тесты как часть проекта NUnit, возникают проблемы с корректным чтением файла app.config. Если это то, что вы делаете сейчас, попробуйте вместо этого открыть тестовую библиотеку напрямую.
4. Спасибо. Пожалуйста, уточните » прямое открытие тестовой библиотеки «. Желательно как часть ответа, который может быть принят в качестве ответа, если это полезно.
![]()
Ответ №1:
У меня были проблемы перед использованием графического интерфейса NUnit (nunit.exe ) где при выполнении тестов как части проекта NUnit файл app.config не считывается.
Попробуйте открыть тестовую библиотеку непосредственно в графическом интерфейсе NUnit, нажав «Файл»> «Открыть проект»…а затем выбор тестовой библиотеки.