Чтение из web.config при выполнении исследований Pex - PullRequest
2 голосов
/ 24 октября 2009

Я только начал использовать 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?

Ответы [ 2 ]

3 голосов
/ 25 октября 2009

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

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

1 голос
/ 27 октября 2009

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

...