Share via


Tests unitaires et C++

Mise à jour : novembre 2007

Vous pouvez utiliser des tests unitaires en Visual C# et Visual Basic.

Remarque :

Certaines restrictions s'appliquent à la génération de tests unitaires pour les types et les méthodes génériques en Visual C# et Visual Basic. Pour plus d'informations, consultez Tests unitaires et génériques.

Vous pouvez également utiliser des tests unitaires en Visual C++ conformément aux spécifications décrites dans cette rubrique.

La manière dont vous pouvez utiliser Visual C++ avec les tests unitaires dépend du rôle joué par Visual C++ dans votre solution. Il existe trois cas possibles :

  • Vous utilisez des tests unitaires pour tester du code écrit en Visual C++. Pour plus d'informations, consultez Code de production Visual C++.

  • Votre projet de test contient des tests unitaires qui sont écrits en Visual C++. Pour plus d'informations, consultez Projets de test et Visual C++.

  • Vous projetez de générer automatiquement des tests unitaires à partir de code écrit en Visual C++. Pour plus d'informations, consultez Génération de code et Visual C++.

Code de production Visual C++

Notez les éléments suivants relatifs au code que vous souhaitez tester, que l'on appelle ici code de production.

  • Non managé. Si votre code de production n'est pas managé, il doit pouvoir être appelé à partir d'une bibliothèque statique, d'un fichier .obj ou d'un point d'entrée de DLL. Les méthodes de classes qui sont incorporées à l'intérieur d'un fichier exécutable ou d'une DLL ne fonctionneront pas car Visual C++ non managé n'offre pas le mécanisme de découverte de l'exécution, la réflexion. Par conséquent, seuls les mécanismes de liaison natifs traditionnels fonctionneront.

  • Mixte Un projet mixte est un projet qui utilise l'option de compilateur /clr. Si votre code de production est mixte, et non un fichier exécutable, toute méthode appelable dans votre code peut être appelée et testée.

  • Sécurisé ou pur. Si votre code de production est sécurisé ou pur, toute méthode d'assembly appelable peut être appelée et testée dans un fichier exécutable ou dans une DLL.

Projets de test et Visual C++

Votre projet de test a des capacités différentes selon les options du compilateur que vous avez définies pour le projet. Pour plus d'informations, consultez Options du compilateur et /clr (Compilation pour le Common Language Runtime). Les sections suivantes décrivent les capacités disponibles pour différents paramètres d'option du compilateur.

Non managé

Vous ne pouvez pas utiliser Visual C++ non managé, ou natif, comme langage de programmation pour un projet de test.

Mixte

Un projet mixte est un projet qui utilise l'option de compilateur /clr. Ce type de projet de test permet de tester le code de production suivant :

  • bibliothèques natives statiques ;

  • points d'entrée de DLL natives ;

  • fichiers .obj autonomes ;

  • assemblys DLL de mode mixte avec des méthodes qui peuvent être appelées. Cela n'inclut pas les fichiers exécutables car ils contiennent du code non managé et le code exécutable non managé n'est généralement pas compatible avec les adresses de base ;

  • toute méthode managée qui peut être appelée. Il s'agit de code compilé l'option de compilateur /clr:pure ou /clr:safe.

Sécurisé ou pur

Si vous utilisez l'option du compilateur /clr:pure ou /clr:safe avec votre projet de test, elle permet de tester toute méthode gérée qui peut être appelée. Cela correspond au code de production compilé avec l'option du compilateur /clr:pure ou /clr:safe.

Génération de code et Visual C++

Vous pouvez générer des tests unitaires dans un projet de test Visual C++. Vous pouvez générer ces tests à partir d'un projet de code de production Visual C++. Notez les points suivants :

  • Projet de code de production. Si votre code de production est écrit en Visual C++, vous pouvez générer des tests unitaires uniquement si votre produit utilise l'option du compilateur /clr:safe.

  • Projet de test La génération de code peut produire des tests unitaires dans tout type de projet de test Visual C++ : mixte, sécurisé et pur. Le type de projet par défaut produit est un projet /clr:safe. Si vous souhaitez modifier votre projet en /clr ou /clr:pure, vous pouvez le faire à tout moment en utilisant les options du compilateur Visual C++. Pour plus d'informations, consultez /clr (Compilation pour le Common Language Runtime).

Voir aussi

Tâches

Comment : créer un test unitaire

Concepts

Tests unitaires et génériques

Référence

Options du compilateur