Вопрос

Я только начал использовать Pex для генерации параметризованных юнит-тестов для моего проекта. Однако, когда я позволяю Pex запускать свои исследования, мой код падает, потому что он не может читать из web.config (если точнее, ConfigurationSettings.AppSettings имеет нулевые элементы). Рабочий каталог во время исследований: " C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE " ;. Я предполагаю, что это коренная причина.

Я знаю, что предположительно правильный способ справиться с этим - создать фиктивные объекты, соответствующие нужным мне значениям. Однако это вынудит меня создать тонны макетов и не даст никакого ощутимого значения IMHO, потому что у меня нет проблем с объединением файла web.config с тестовым проектом.

Как включить чтение из web.config (или app.config) во время выполнения исследований Pex?

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

Решение

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

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

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

Разработчики Pex (часто) не читают переполнение стека. Вам лучше задать свой вопрос, связанный с Pex, на форумах по адресу http: // social. msdn.microsoft.com/Forums/en/pex/threads

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