Тестировать работу одной страницы в веб-разработке слишком хлопотно. После ввода имени пользователя и пароля с главной страницы вы сможете попасть на страницу, которую хотите протестировать, только после некоторых операций. (На самом деле, чем бы вы ни занимались разработкой, тестирование одной функции очень хлопотно). При осторожном подходе я обычно предпочитаю написать несколько абзацев и протестировать их один раз. Очевидно, что каждый раз запускать весь проект для тестирования очень неэкономично.
Обычно я добавляю новую конфигурацию для тестирования в Решение, добавляю в нее директиву компиляции, например «Test», а затем помещаю в код некоторые условия тестирования и методы тестирования под этой директивой. Если команда разработчиков не представила такие концепции, как модульное тестирование, я не хочу делать что-то подобное, добавляя новый тестовый проект. А в таких ситуациях, как одна страница в Интернете, я не знаю, как действовать. Поэтому в прошлом более привычно использовать мои собственные инструкции по компиляции.
(Когда я писал какие-то не-WEB-вещи, мне тоже нравилось писать метод теста и сам класс в файле, а затем использовать инструкции компиляции, чтобы их различать. Если вы хотите протестировать, просто выберите «Тест» прямо в среду разработки. Эту конфигурацию, а затем запустите TestDriven для ее тестирования. Это экономит много усилий на машине без запуска всего проекта.
Если вы разрабатываете на C#, то в среде разработки при невыполнении текущих условий компиляции эти коды будут выделены серым цветом и могут иметь отступы, что совсем не раздражает)
Однако мои трюки больше не работают под VS2005. Теперь WEB-разработка немного отличается от того, что было раньше. Я не могу найти место для добавления инструкций по компиляции, когда ищу его. Разработчики, не использующие Интернет, все равно могут найти место для их добавления. После долгих усилий я обнаружил, что теперь я поместил некоторые настройки в Web.config, и условная компиляция не является исключением.
Например, теперь нам нужно добавить директиву условной компиляции «Тест». В файле Web.config просто добавьте следующий оператор в раздел <compilation>.
<компиляторы>
<compiler Language="vb"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
Extension=".VB"
compilerOptions="/define:Debug=True /define:Trace=True /define:Test=True "/>
<compiler Language="c#"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
Extension=" .cs"
compilerOptions="/d:DEBUG;TRACE;Test"/>
</compilers>
Очень важно добавить <компилятор> для каждого языка. Конечно, если соответствующий язык не используется в проекте, вы можете его игнорировать или удалить. Обычно чаще используются C# и VB, но я использую только эти два.
После его установки в Web.config нет необходимости определять инструкции компиляции на каждой тестируемой странице. Однако это все еще не так хорошо, как раньше. Раньше было достаточно напрямую выбрать конфигурацию. Панель инструментов IDE Теперь мне приходится писать столько всего, и в основном все равно неудобно переключаться. Например, если я не хочу запускать условие «Тест», мне нужно перейти в Web.config и закомментировать приведенный выше абзац.
Согласно MSDN, в .Net 2.0 элемент <compiler> устарел. Мой подход не кажется правильным.