Хитрость в проектах .NET Website заключается в том, что файлы кода обычно не компилируются заранее, они компилируются при выполнении соответствующих страниц. Это создает проблему при тестировании, поскольку, как вы упомянули, NUnit хочет запустить .exe
или .dll
для тестирования.
Одним из способов решения этой проблемы является преобразование проекта website в веб-приложение ; они звучат одинаково, но работают по-разному. В отличие от веб-сайта, не требующего предварительной компиляции, веб-приложение требует этого. Таким образом, у вас будет один или несколько проектов, которые компилируются в сборки (.dll
) или исполняемые файлы (.exe
). Затем NUnit может подключиться к ним для запуска тестов.
Чтобы это работало, вам нужно разделить тестируемый код на другой проект; ваше интерфейсное веб-приложение может ссылаться на этот другой проект для использования кода внутри. В идеале, интерфейс должен быть тонким слоем логики и взаимодействия с пользователем, и реальная работа может быть отправлена во второй проект. Поэтому второй проект - это то, что вы захотите протестировать.
Вы захотите, чтобы еще один проект содержал тесты - общая мудрость заключается в том, чтобы ваши тесты не были в том же проекте, что и тестируемый код. Этот проект относится к тестируемому проекту и к NUnit и содержит сами тесты. Эта сборка - это то, что вы бы указали NUnit запустить для тестирования.