Ich war ziemlich überrascht zu sehen, dass IntelliJ tatsächlich die Laufzeit Verifizierung von @NotNull in IDEA beim Ausführen / Debuggen eines Komponententests durchführt. Ist es mir möglich, das gleiche Feature zu meinem Maven Build hinzuzufügen? (Welche jars / jvm-Einstellungen benötige ich?)
IDEA verwendet eine eigene Methode zur Instrumentierung von Bytecode, um solche Validierungen hinzuzufügen. Für Befehlszeilen-Builds stellen wir die javac2-Ant-Task bereit, die die Instrumentierung ausführt (erweitert die Standard-Java-Task). Wenn Sie Ant Build von IDEA generieren, haben Sie die Möglichkeit, javac2 zu verwenden.
Wir bieten noch kein ähnliches Maven Plug-In , aber Es gibt eine Drittanbieter-Version , die für Sie funktionieren kann (obwohl sie etwas alt aussieht).
Sie können in Ihren JUnit-Tests eine Annotation-Validierung durchführen.
%Vor%Wenn Ihr Gift Frühling ist, werfen Sie einen Blick auf diese Frühjahrstests
Ich würde den AOP-Weg gehen:
Zuerst benötigen Sie einen javax.validation kompatiblen Validator ( Hibernate Validator ist die Referenzimplementierung.
Erstellen Sie nun einen aspectj-Aspekt, der eine Validator-Instanz enthält, und überprüft alle Methodenparameter auf Validierungsfehler. Hier ist eine kurze Version, die Ihnen den Einstieg erleichtert:
%Vor%Verwenden Sie das aspectj-maven-plugin , um diesen Aspekt in Ihren Test- und / oder Produktionscode einzuflechten.
Wenn Sie diese Funktionalität nur zum Testen wünschen, können Sie die Ausführung von aspectj-plugin in ein Profil einfügen.
Tags und Links java intellij-idea