5
Wie kann ich Klassen aus meinem endgültigen Archiv filtern?Wie kann ich meine Testklassen aus meinem ShrinkWrap-Archiv entfernen?
public static JavaArchive unitTestJar() {
return ShrinkWrap.create(JavaArchive.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
.addPackages(false, getCorePackages());
}
public static String[] getCorePackages(String... args) {
List<String> strings = Arrays.asList(
"com.lm.util",
"com.lm.infrastructure"
);
strings.addAll(Arrays.asList(args));
return (String[]) strings.toArray();
}
Ich sehe, dass es eine Filter API, aber ich kann nicht zu finden, scheinen keine Beispiele dafür, wie es zu benutzen. Letztendlich dachte ich, ich würde einfach alles entfernen, was *Test*
ist. Was ist einfacher als zu versuchen, eine Klasse zu einer Zeit hinzuzufügen.
@ Sam, Die Frage ist, über API-Nutzung. In diesem Fall sehe ich keine bessere Hilfe als ein testbares Beispiel. –
Hoppla, tut mir leid - ich habe die Antworten/Fragen im StackOverflow Review Abschnitt überprüft. Leider hat es mir den Zusammenhang der Antwort nicht gezeigt. –
Diese Regexp, '. * Test. *', Schließt auch jede Klasse mit einem Namen aus, der das Wort "Test" enthält, was nicht unbedingt eine JUnit-Testdatei ist. Verwenden Sie '. * Test.class', um nur die Dateien mit einem Namen auszuschließen, der mit' Test' endet. – Virginie