![]() |
TestInsight mit DUnitX ignoriert [Category]
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:
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.)
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; 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! |
AW: TestInsight mit DUnitX ignoriert [Category]
Statt Google oder ChatGPT würde ich einfach Stefan direkt fragen. Erfahrungsgemäß wird er sowieso bald darauf antworten.
|
AW: TestInsight mit DUnitX ignoriert [Category]
Von dem, was sich im Quellcode finden lässt, wäre Deine Vermutung richtig, daß "Category" dem Testinsight nicht bekannt ist.
|
AW: TestInsight mit DUnitX ignoriert [Category]
Danke für Info, wollte nur sichergehen, dass ich nicht zu blöd bin.
Da das CompileFlag "TestInsight" ja nicht (zwangsläufig) in der Standardkonfiguration des Projektes aktiv ist, wird beim compilieren über die Kommandozeile eh die Konsolen-Version von DUnitX verwendet, die wiederum korrekt auf die Kommandozeilenbefehle (-include:Foo) reagiert. Für die Testautomatisierungen im Build-Vorgang könnte ich damit also bei Bedarf die Kategorien ansteuern, und in Delphi selbst mache ich halt entweder verschiedene Testprojekte oder klicke nur die Punkte in der Hierarchie an, die ich gerade zum Testen benötige.
Code:
Nochmals danke für alle Beiträge!
msbuild Test.dproj
Test.exe -exit:continue IF %ERRORLEVEL% NEQ 0 ( ECHO FEHLER: Tests sind fehlgeschlagen! Der Build wird abgebrochen. EXIT /b 1 ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz