So filtern Sie JUNIT-Tests, die von der Eclipse nach dem Quellpfad aufgerufen werden

8

Angenommen, ich habe eine Reihe von Quellordnern in einem Eclips- Projekt:

%Vor%

Beachten Sie, dass es sich hierbei nicht um Pakete handelt, sondern um Quellordner. In jedem Paket gibt es eine Pakethierarchie, die genau gleich sein kann. Sagen wir, wenn ich eine Klasse com.foo.myproject.DoSomething im Ordner base / src / impl habe, könnte ich einen Test namens com.foo.myproject.DoSomethingTest im Ordner base / src / Test und vielleicht com.foo haben .myproject.DoSomethingUnitTest in einem anderen Quellordner unter derselben Pakethierarchie.

Was ich tun muss, ist, alle Tests auszuführen, die sich in bestimmten Quellordnern befinden. Vielleicht sind alle in einem Junit-Ordner, aber keine aus dem Testordner.

Dies funktioniert gut von Ant mit den Junit-Suchmustern, zum Beispiel:

%Vor%

Ich möchte jedoch die gleichen Laufkonfigurationen von Eclipse haben können, ohne Ant aufrufen zu müssen. Da es bereits viele Projekte, Pakete und Tausende von Test-Klassen gibt, suche ich nach einem "faulen" Weg, um dies zu erreichen, dh ohne Projektstrukturen zu ändern oder komplexe Test-Suites zu verwalten.

Ein Ansatz, den ich ausprobiert habe, ist die Verwendung von org.springframework.core.io.support.PathMatchingResourcePatternResolver , die von ClasspathSuite verwendet wird. Aber die Suche nach Ressourcen in classpath betrachtet immer die zusammengeführten Quellordner in einem einzigen Klassenspeicherort, sodass ich nicht mehr auf der Ebene I filtern kann beabsichtigen, es zu tun.

Ich suche nach zwei Möglichkeiten, es zu tun:

%Vor%

Danke!

    
Martin 25.11.2013, 08:46
quelle

2 Antworten

4

Sie können mit der rechten Maustaste auf den Quellordner klicken und Ausführen als & gt; JUnit Test.

Dadurch werden die Komponententests nur in diesem Quellordner ausgeführt.

Alternativ können Sie beim Bearbeiten der Ausführungskonfiguration

auswählen

Run all tests in the selected project, package or source folder:

Drücken Sie search und wählen Sie den Ordner, in dem Sie die Komponententests ausführen möchten.

Siehe "Anpassen einer Testkonfiguration" auf Schreiben und Ausführen von JUnit-Tests der Eclipse-Hilfe.

Gleiche Seite beschreibt, wie Sie mit dem Assistenten für neue Testsuite eine benutzerdefinierte Test Suite erstellen können.

    
flup 28.11.2013 22:15
quelle
2

Hier ist ein Projekt, das scheint, was Sie wollen:

ClasspathSuite

Suchen Sie nach "Classpath Property Annotation", um einen Ordner festzulegen, aus dem die Tests durchgeführt werden.

Außerdem, wenn Ihre Testklassen wirklich so benannt sind, wie sie sind (alle Unit Tests Klassen haben das Suffix UnitTest), dann könnten Sie auch die @ClassnameFilters Annotation verwenden.

    
Andrei I 28.11.2013 17:26
quelle

Tags und Links