Включая класс только в режиме отладки - PullRequest
2 голосов
/ 11 августа 2010

Я пишу некоторые классы модульных тестов и хочу запускать их только в режиме отладки.

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

Я не говорю об их содержимом (флаг #IF DEBUG), файлах ихself.

Я использую VS2005.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 11 августа 2010

Стандартная практика - помещать тестовые классы в отдельные сборки. Таким образом, вы можете просто развернуть только сборки, содержащие фактический производственный код.

0 голосов
/ 11 августа 2010

Также вы можете использовать атрибут условия, определяющий DEBUG в качестве параметра для класса.

Но способ исключить весь файл из компиляции - это определить условие в файле проекта (. ?? proj), так что если у вас есть что-то вроде <ItemGroup> <Compile Include="Form1.vb"> <SubType>Form</SubType> </Compile> <Compile Include="Form1.Designer.vb"> <DependentUpon>Form1.vb</DependentUpon> <SubType>Form</SubType> </Compile>

Вы можете добавить условие к ItemGroup:

Condition=" '$(Configuration)' == 'Debug' "

Обратите внимание, что вы можете определить более одного ItemGroup.

0 голосов
/ 11 августа 2010

Использовать #if DEBUG вокруг атрибута, помечающего классы как тест?(Детали будут зависеть от используемой вами системы тестирования.)

Без этого указания класс теряет свой статус тестирования, но все равно будет включен в сборку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...