Comment convertir les tests DUnit en DUnitX

De RAD Studio
Aller à : navigation, rechercher

Remonter à Présentation de DUnitX


La conversion de DUnit en DUnitX est relativement simple. DUnit.DUnitCompatibility.pas comprend une classe TTestCase ayant toutes les méthodes Check(X). Elles sont marquées comme obsolètes, et sont déléguées à la nouvelle méthode Assert.

Pour convertir du code DUnit en DUnitX, procédez comme suit :

  1. Dans la clause uses, remplacez
    TestFramework
    par
    DUnitX.TestFramework,DUnitX.DUnitCompatibility;
  2. Changez le recensement en
    TDUnitX.RegisterTestFixture(TYourTestClass)

Activation de la prise en charge du suivi de pile

Vous pouvez activer la prise en charge du suivi de pile pour DUnitX en utilisant votre code DUnit. Pour cela, DUnitX comprend un fichier DUnitX.StackTrace.inc. Vous devez décommenter la définition du fournisseur que vous souhaitez utiliser. Si vous souhaitez fournir votre propre fournisseur de suivi de pile, implémentez alors IStacktraceProvider et recensez-le avec

TDUnitXIoC.DefaultContainer.RegisterType<IStackTraceProvider,TYourProvider>;

Quelles sont les différences entre DUnitX et DUnit ?

La terminologie de DUnitX est différente de celle de DUnit. Le tableau suivant montre les différences :

Fonctionnalité DUnit DUnitX

Classe test de base

TTestCase

Aucune

Méthode de test

Publiée

Publiée ou décorée avec [Test]

Méthode Setup de fixture

NA

Décorée avec [SetupFixture] ou un constructeur

Méthode Setup de test

Redéfinir Setup à partir de la classe de base

Décorée avec [Setup]

Méthode TearDown de test

Redéfinir Teardown à partir de la classe de base

Décorée avec [TearDown]

Espaces de nommage

A travers le paramètre de recensement (chaîne)

Noms d'unités (les points délimitent les espaces de nommage)

Tests pilotés par les données

NA

Décorée avec [TestCase(paramètres)]

Assertions

Check(X)

Classe d'assertion

Assertions sur Containers(IEnumerable<T>)

Manuelles

Assert.Contains, Assert.DoesNotContain, Assert.IsEmpty

Assertions utilisant des expressions régulières

NA

Assert.IsMatch (XE2 ou version ultérieure)

Prise en charge du suivi de pile

Jcl

Jcl, madExcept 3, madExcept 4, Eurekalog 7

Vérification des pertes mémoire

FastMM4

FastMM4 (sous construction)

Conteneur IoC

Utiliser Spring ou autre

Conteneur IoC simple intégré

Consignation vers la console

Intégrée

Intégrée (mode silencieux ou commenté)

Consignation vers XML

Intégrée (format propre)

Intégrée - Sorties NUnit compatibles xml

Voir aussi