Я хочу провести модульное тестирование одного из моих проектов. Это веб-проект, и будет только одна копия этой программы, работающая помимо копий для разработки.
Я хочу написать несколько модульных тестов, которые будут использовать web.config
. Я понимаю, что обычно тестировщик блокирует эту внешнюю зависимость, потому что он хочет протестировать код без теста, в зависимости от web.config
, содержащего определенные значения.
Однако, web.config
в моем проекте должен всегда содержать определенные значения, и я хочу провести модульный тест, который не пройдёт, если для них заданы недопустимые значения. Например, одним из значений является строка подключения SQL.
Я хочу написать тест, который будет читать строку подключения из web.config
. Я предполагаю, что тест может подключиться к серверу с помощью строки подключения и, возможно, выполнить очень простую команду, такую как SELECT system_user;
. Если команда выполняется успешно и возвращает что-то, тест проходит успешно. Иначе не получится. Я хочу, чтобы строка подключения была прочитана из web.config
в тестируемом проекте.
Конечно, ConfigurationManager
обычно не будет искать web.config
в другом проекте. Я мог бы вручную скопировать web.config
из исходного проекта в тестовый проект, но мне пришлось бы делать это перед каждым тестом, и я никак не мог рассчитывать на то, что кто-то еще сделает это.
Как заставить мой тестовый проект читать web.config
из другого проекта?