ASP.net/C#: Как компилировать классы в App_Code, чтобы их можно было запускать из командной строки для модульного тестирования? - PullRequest
1 голос
/ 27 июля 2010

У меня есть несколько файлов классов в App_Code на веб-сайте ASP.net, работающем в Microsoft Visual Studio 2005 Professional.

Вместо использования полного набора модульных тестов, я просто хочу как-то скомпилировать эти классы для всего проектав .EXE, чтобы я мог по ночам запускать на них модульные тесты.

I do знает, как создать отдельный проект библиотеки C #, состоящий из этих файлов, и как включить их в мой веб-сайт.- но это нежелательно - я не хочу отказываться от возможности оперативного изменения кода этих классов библиотеки при запуске веб-сайта в отладчике.Насколько я знаю, отладчик .Net не достаточно мощный, чтобы изменять код во включенных библиотеках с мгновенной автоматической повторной компиляцией при повторной загрузке страницы.

Итак, я тоже хочу свой торт и съесть его:

  1. Модульное тестирование файлов классов веб-сайтов в каталоге App_Code в командной строке
  2. Возможность изменять эти файлы классов без остановки / повторного запуска веб-отладчика.

Возможно ли иметь оба?

Ответы [ 2 ]

1 голос
/ 27 июля 2010

Ваш проект находится под контролем исходного кода, верно? Правильно? В этом случае вы можете использовать свою систему управления версиями, чтобы включить ссылку на папку app_code вашего проекта asp.net как часть отдельного проекта модульного тестирования.Точный механизм связывания зависит от платформы управления исходным кодом, но все сделано правильно, это означает, что в контроле исходного кода есть ровно один экземпляр вашей папки App_Code, видимый из двух разных проектов.Таким образом, все остается в актуальном состоянии.

Это имеет то преимущество, что позволяет вам всегда хранить простой, некомпилированный код, как и всегда, но при этом делать код доступным для тестирования.

1 голос
/ 27 июля 2010

Вы должны поместить код в отдельную библиотеку / сборку классов, а затем сослаться на нее из своего веб-проекта и утилиты командной строки.Насколько я знаю, не имеет значения, где вы изменяете свой код, когда остановлены в отладчике.У меня никогда не было проблем.

Надеюсь, это поможет.

...