Ich versuche, Gradle zu verwenden, um Tests mit dem folgenden Befehl auszuführen, aber es funktioniert nicht
%Vor%meine Testsuite sieht wie folgt aus
%Vor%Das Ausführen des folgenden Befehls funktioniert, aber erschwerend genug, führt es jeden Test zweimal aus. einmal selbst und dann wieder unter der Testsuite in demselben Namespace
%Vor%Ich könnte die Testsuite einfach fallen lassen und es auf diese Weise tun, aber ich möchte besser verstehen, was hier vor sich geht und warum ich nicht sagen kann, dass es die Testsuite direkt ausführen soll.
Das Folgende funktioniert für mich lokal.
%Vor% Dies verwendet einen anderen Ansatz (Testeinschluss) als den fortgeschritteneren Filteransatz von --test
.
Wie im oben genannten Beispiel dokumentiert, wird im obigen Beispiel ein Dateieinschlussmuster der Form **/MySuite*.class
erstellt, während --test
versucht, Tests aus dem gescannten Testsatz auszuwählen. Ich vermute, es gibt einige unvorhergesehene Interaktionen zwischen der generischen Testfilterung, die in Gradle implementiert wurde, und den spezifischen Fällen rund um den Runner der JUnit Suite.
Nachdem dies gesagt wurde, warnen sogar die Gradle-Dokumente davor, dass der obige Ansatz ersetzt wird, und in Wirklichkeit würde ich wahrscheinlich @ Opals Kommentar wiederholen und eine explizite Aufgabe definieren, um Suites für eine bestimmte Testphase auszuführen. Zum Beispiel kann der folgende Lauf mit gradle clean testSuite
eine Integrationssuite ausführen.
Referenzen: