Konvertieren von DUnit-Tests in DUnitX

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Überblick über DUnitX

Die Konvertierung von DUnit in DUnitX ist relativ einfach. DUnit.DUnitCompatibility.pas enthält eine TTestCase-Klasse mit allen Check(X)-Methoden. Diese Methoden sind als veraltet gekennzeichnet und werden dadurch an die neue Assert-Methode delegiert.

Führen Sie diese Schritte aus, um DUnit-Code in DUnitX zu konvertieren:

  1. Ersetzen Sie in der uses-Klausel
    TestFramework
    durch
    DUnitX.TestFramework,DUnitX.DUnitCompatibility;
  2. Ändern Sie die Registrierung in
    TDUnitX.RegisterTestFixture(TYourTestClass)

Aktivieren der Stack-Verfolgungsunterstützung

Sie können die Stack-Verfolgungsunterstützung für DUnitX mit Ihrem DUnit-Code aktivieren. Dazu hat DUnitX eine DUnitX.StackTrace.inc-Datei. Sie müssen die Kommentarzeichen um die Definition des Providers, den Sie verwenden möchten, entfernen. Wenn Sie einen eigenen Stack-Verfolgungs-Provider angeben möchten, implementieren Sie IStacktraceProvider und registrieren ihn mit

TDUnitXIoC.DefaultContainer.RegisterType<IStackTraceProvider,TYourProvider>;

Unterschiede zwischen DUnitX und DUnit

DUnitX und DUnit verwenden eine abweichende Terminologie. In der folgenden Tabelle sind die Unterschiede aufgeführt:

Funktion DUnit DUnitX

Testbasisklasse

TTestCase

Keine

Testmethode

Published

Published oder mit [Test] dekoriert

Setup-Methode für Gruppen

NV

Dekoriert mit [SetupFixture] oder Konstruktor

Test-Setup-Methode

Überschreiben von Setup aus der Basisklasse

Dekoriert mit [Setup]

Test-TearDown-Methode

Überschreiben von TearDown aus der Basisklasse

Dekoriert mit [TearDown]

Namespaces

Durch Registrierungsparameter (String)

Unit-Namen (durch Punkt begrenzte Namespaces)

Datengesteuerte Tests

NV

Dekoriert mit [TestCase(Parameter)]

Annahmen

Check(X)

Assert-Klasse

Annahmen für Containers(IEnumerable<T>)

Manuell

Assert.Contains, Assert.DoesNotContain, Assert.IsEmpty

Annahmen mit regulären Ausdrücken

NV

Assert.IsMatch (XE2 oder später)

Stack-Verfolgungsunterstützung

Jcl

Jcl, madExcept 3, madExcept 4, Eurekalog 7

Prüfung auf Speicherlecks

FastMM4

FastMM4 (in Vorbereitung)

IoC-Container

Verwenden Sie Spring oder andere

Einfacher IoC-Container integriert

Konsolenprotokollierung

Integriert

Integriert (stille oder ausführliche Modi)

XML-Protokollierung

Integriert (eigenes Format)

Integriert – Gibt mit NUnit kompatibles XML aus

Siehe auch