Wir hatten ein fortwährendes Bedürfnis hier, dass ich nicht herausfinden kann, wie ich mit den Maven 2-Werkzeugen und der Dokumentation auf Lager umgehen soll.
Einige unserer Entwickler haben sehr lange laufende JUnit-Tests (normalerweise Stresstests), die unter keinen Umständen als regulärer Teil des Build-Prozesses / nächtlichen Builds ausgeführt werden sollten.
Natürlich können wir den Ausschlussmechanismus des Surefire-Plugins verwenden und ihn einfach aus dem Build entfernen, aber im Idealfall würden wir etwas lieben, das es dem Entwickler ermöglichen würde, sie nach Belieben über Maven 2 auszuführen.
Normalerweise würden Sie Ihrer Maven-Konfiguration ein Profil hinzufügen, das eine andere Reihe von Tests ausführt:
Führen Sie dies mit mvn -Pintegrationstest install
aus %Vor%Wenn Sie die Antwort von krosenvold hinzufügen möchten, um sicherzustellen, dass kein unerwartetes Verhalten vorliegt, müssen Sie auch ein Standardprofil verwenden, das die Integration oder die Stresstests automatisch ausschließt möchte in Ihrem speziellen Profil laufen.
%Vor%Sie müssen ein Profil wie dieses erstellen, indem Sie einfach das surefire-plugin außerhalb eines Profils auflisten, wird das Profil überschrieben, sollte es ausgewählt werden mit:
%Vor%Verwenden Sie ein Integrationstest-Plug-in wie den Super Hilfreiche Integrationstest Thingy , um Integrationstests zu trennen , systemisch) von Unit Test (Puristen sagen 30 Sekunden maximal für alle echten Unit Tests zu laufen). Machen Sie zwei Java-Pakete für Ihre Komponententests im Vergleich zu Integrationstests.
Binden Sie dieses Plugin dann nicht an eine Phase (den normalen Maven-Lebenszyklus) und führen Sie es nur dann aus, wenn es explizit als Ziel aufgerufen wird, etwa so:
mvn shitty:clean shitty:install shitty:test
Auf diese Weise sind Ihre normalen Entwickler nicht betroffen, und Sie können Integrationstests nach Bedarf ausführen.
Eine weitere Option ist, dass der Stresstest erkennt, dass er in maven ausgeführt wird und nur ein- oder zweimal ausgeführt wird. d.h. sich in einen regulären Funktionstest verwandeln. Auf diese Weise können Sie überprüfen, ob der Code immer noch gut ist, aber nicht lange ausgeführt wird.
Tags und Links java build-process maven-2 build-automation junit