2010-12-23 8 views
4

Ich habe ein Artefakt abc, das einige Tests hat. Ich habe verschiedene Versionen von abc in meinem Repository. Ich möchte nun die neuesten Tests gegen den "alten Build" des Projekts durchführen können.Wie kann ich Maven-Tests gegen ein zuvor implementiertes Artefakt desselben Artefakts ausführen?

ich versuchte, das Artefakt selbst zu dem Test Abhängigkeiten hinzufügen, aber diese (natürlich) führt zu einem zyklischen Referenzfehler des maven Reaktors beim Bau der Tests über:

MVN Compiler: testCompile MVN todsicheren: test

Gibt es eine clevere Möglichkeit, Tests mit einem früheren alten Build/Artefakt durchzuführen?

Muss ich eine neue pom.xml erstellen, in der ich die Solo-Testausführung definiere? Oder sollte ich ein Postfix zu meinem aktuellen Artefakt hinzufügen, wenn ich die Tests durchführe? (Dies würde einen zyklischen Referenzfehler vermeiden)

Antwort

1

Das Problem, das ich mit dem voraussehe, was Sie versuchen, ist, dass die Paketphase nach der Testphase des Maven-Lebenszyklus kommt. Was für mich bedeutet, dass Maven Komponententests gegen die kompilierten Klassen und nicht die physische JAR-Datei (generiert in der Paketphase) ausführt. Sie müssen daher den Inhalt des Ordners projects/target/classes durch die Klassen in der "young" - Klasse ersetzen.

3

Trennen Sie die Tests in ein separates Modul/Projekt, das von den getesteten Klassen abhängt. Erstellen Sie dann separate Profile, in denen Sie die Abhängigkeit für ältere Releases ändern.

Verwandte Themen