2010-08-11 7 views
2

Je suis en train d'écrire quelques classes de tests unitaires et je veux seulement les lancer en mode debug.Inclusion de la classe uniquement en mode débogage

Y at-il un moyen de ne pas déployer les classes elle-même pour les assemblages finaux lorsque je cours en mode différent.

Je ne parle pas de leur contenu (drapeau #if DEBUG), les fichiers eux-mêmes.

J'utilise VS2005.

Merci.

Répondre

2

La pratique standard consiste à placer des classes de test dans des assemblages distincts. De cette façon, vous pouvez simplement déployer uniquement les assemblys contenant le code de production réel.

0

Utilisez #if DEBUG autour de l'attribut qui marque les classes comme un test? (Les détails dépendront du système de test que vous utilisez.)

Sans cette indication, la classe perd son statut de test, mais sera toujours incluse dans l'ensemble.

0

Vous pouvez également utiliser l'attribut de condition spécifiant DEBUG comme paramètre sur la classe.

Mais la façon d'exclure le dossier complet de la compilation serait la définition d'une condition dans le projet (. ?? proj) fichier, donc si vous avez quelque chose comme <ItemGroup> <Compile Include="Form1.vb"> <SubType>Form</SubType> </Compile> <Compile Include="Form1.Designer.vb"> <DependentUpon>Form1.vb</DependentUpon> <SubType>Form</SubType> </Compile>

vous pouvez ajouter une condition à la ItemGroup :

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

Notez que vous pouvez définir plusieurs ItemGroup.

Questions connexes