Классы модульного тестирования в проекте веб-сайта - как мы можем ссылаться на классы?

Я пишу модульные тесты для проекта веб-сайта в Visual Studio. Проект модульного тестирования должен ссылаться на несколько классов, которые находятся в App_Code проекта веб-сайта.

Для ссылки на классы я связываю соответствующие *.cs файлы.

Add > Existing Item > Add as Link

Если бы это был проект веб-приложения, а не проект веб-сайта, я бы сослался на сборку. Однако у проекта веб-сайта нет сборки, поэтому я могу вместо этого связать необходимые *.cs файлы.

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

Ответы на Unit Testing ASP.net Код проекта веб-сайта, хранящийся в App_Code, указывает, что перемещение классов в проект библиотеки классов.


person Shaun Luttin    schedule 24.03.2015    source источник
comment
Можете ли вы переместить эти классы в библиотеку классов? Тогда и веб-сайт, и тестовый проект могут использовать одну и ту же сборку.   -  person Matt Johnson-Pint    schedule 24.03.2015
comment
Я могу спросить об этом у технического руководителя. Однако, если ведущий не согласен, я застрял с ним в папке App_Code. Возможны разногласия :-(.   -  person Shaun Luttin    schedule 24.03.2015
comment
Мой совет - не позволяйте офисной политике мешать хорошему программированию. :)   -  person Matt Johnson-Pint    schedule 24.03.2015
comment
Не могу воспроизвести ошибку ссылки. У вас есть сайт и тестовый проект в одном решении? Это может быть установка даты изменения файлов CS на СЕЙЧАС, когда выборка из системы управления версиями решит вашу проблему. Альтернативный подход - это предварительная сборка вашего тестового проекта для копирования исходных файлов из App_code в тестовый проект. Однако, как сказал @MattJohnson, вам следует переместить код в библиотеку классов, особенно потому, что проекты веб-сайтов, похоже, устарели в vs2013: msdn.microsoft.com/en-us/library/dd547590 (v = vs.110) .aspx   -  person forsvarir    schedule 13.05.2015