Génération de code pour UnitTest

Vous pouvez générer les tests à l'aide de NUnit ou de Visual Studio Test System. PowerAMC prend en charge la génération de code de tests unitaires via l'utilisation d'un fichier d'extension.

Si le modèle contient de nombreuses classes persistantes, il peut être difficile de toutes les tester pour s'assurer que :
  • Les correspondances sont correctement définies

  • Les options CLMS (Création, Lecture, Modification, Suppression) fonctionnent

  • Les méthodes de recherche fonctionnent

  • La navigations fonctionne

Le plus souvent, les développeurs doivent développer des tests unitaires ou des interfaces utilisateur afin des tester ces objets. PowerAMC permet d'automatiser cette tâche fastidieuse en utilisant NUnit ou Visual Studio Test System (VSTS) pour générer les classes de test unitaire. La plupart du code généré pour ces deux environnements de tests unitaires est très similaire. Les principales différences sont les suivantes :
  • Team Test utilise différentes attributs avec NUnit dans une classe de test, tels que [TestClass()] to [TestFixture] and [TestMethod()] to [Test] etc.

  • Le fichier AllTests n'est pas généré car tous les tests seront exécutés dans l'interface de Visual Studio ou à l'invite de commande.

  • Log4net est remplacé par le fichier de résultats de test .trx qui peut être ouvert dans la fenêtre Résultats des tests dans Visual St.

Certaines conditions doivent être remplies pour procéder au test unitaire d'une classe :
  • La correspondance d'une classe doit être définie.

  • La classe peut être instanciée. Les classes de test unitaire ne peuvent pas être générées pour les classes abstraites.

  • La classe n'est pas un type valeur.

  • La propriété Modifiable est définie à true. Si Modifiable est définie à false, la classe ne peut être ni modifiée ni supprimée.

  • La classe n'a aucune contrainte de clé étrangère non respectée. Si une clé étrangère est obligatoire, la classe parent doit être accessible (navigable du côté de la classe parent) à des fins de test.

Pour activer la prise en charge des tests unitaires dans votre modèle, sélectionnez Modèle > Extensions, cliquez sur l'outil Importer, sélectionnez le fichier UnitTest.NET ou UnitTest.NET CF (sur l'onglet Unit Test ), puis cliquez sur OK pour l'attacher.

Avant de générer du code pour UnitTest, vous devez installer NUnit 2.2.3 ou version supérieure (disponible à l'adresse http://www.nunit.org).

  1. Sélectionnez Outils > Vérifier le modèle pour vous assurer que le modèle ne contient ni erreur ni avertissement. Si des erreurs sont détectées, corrigez-les avant de poursuivre avec la génération du code.
  2. Sélectionnez Outils > Options générales, puis cliquez sur le noeud Variables.
  3. Ajoutez la variable NUNIT_HOME et, dans la colonne Valeur, spécifiez le chemin du répertoire racine de NUnit. Par exemple, spécifiez D:\NUnit2.2.3\bin. Ajoutez une variable LOG4NET_HOME de la même façon si log4net doit être utilisé pour la consignation.


  4. Sélectionnez Langage > Générer du code C# 2 ou Générer du code Visual Basic 2005 pour afficher la boîte de dialogue de génération.
  5. Spécifiez le répertoire racine dans lequel vous souhaitez générer le code, puis cliquez sur l'onglet Options :


  6. Sélectionnez un environnement de test unitaire dans "Environnement de test unitaire". Vous pouvez choisir Nunit ou Visual Studio Team Test.
  7. Cliquez sur OK pour générer du code immédiatement ou sur Appliquer puis sur Annuler pour enregistrer vos changements pour une génération ultérieure.