Hallo zusammen,
ich beschäftige mich gerade mit DUnitX und TestInsight. Danke dem schönen "Von 0 auf 100" Video klappt der Einstieg echt super!
Gerne würde ich den [Category] Tag verwenden.
Das hier ist mein Beispieltest:
Delphi-Quellcode:
type
[TestFixture('MeineKomponente', 'Beschreibung für meine Komponente')]
[Category('Main')]
TMyTestObject = class
public
calc: TCalc;
[Setup]
procedure Setup;
[TearDown]
procedure TearDown;
[Test]
[Category('Foo')]
[TestCase('TestA', '1,2,3')]
[TestCase('TestB', '2,2,4')]
[TestCase('TestB', '1,2,4')]
procedure TestAddition(x, y, summe: integer);
[Test]
[Category('Bar')]
[TestCase('TestC', '1,2,3')]
[TestCase('TestD', '2,2,4')]
[TestCase('TestE', '1,2,4')]
procedure TestAddition2(x, y, summe: integer);
end;
In TestInsight kann ich ja mit den Checkboxen wunderbar hierarchich anhaken, was getestet soll (Bei Bedarf ">>" drücken, um alle Tests zu ermitteln, bevor man sie laufen lässt.)
Zusätzlich gibt es jedoch auch Kategorien, damit man nur alle Tests laufen lässt, die mit "Mathe" oder "Multimedia" zu tun haben (hier: Kategorien "Foo" und "Bar").
Ist Testinsight deaktiviert, kann ich im DUnitX "Konsolenmodus" über die Kommandozeile mit "Test.exe --include:Foo" explizit nur diesen Test laufen lassen (später gibt es ja dann viele Komponenten mit der Kategorie "Foo", dann würden [nur] alle diese Tests laufen).
Ist Testinsight jedoch aktiviert, erscheinen im TestInsight-Fenster immer *alle* Tests als getestet - also korrekt mit "[Nicht] Bestanden", nicht das blaue "i" für "Der Test ist nicht gestartet worden.".
Meine Vermutung ist, dass TestInsight den "Category"-Tag einfach nicht unterstützt, ist das richtig?
Google und ChatGPT liefern mir leider keine brauchbaren Aussagen.
Danke im Voraus!
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit