it-swarm.com.de

spring - @ContextConfiguration lädt die Konfigurationsdatei nicht in src/test/resources

Ich habe versucht, die Spring-Konfigurationsdatei in den Klassenpfad src/test/resources mit der folgenden abstrakten Klasse zu laden:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/applicationContext.xml"})
public class BaseIntegrationTests {

}

Ich habe die Datei applicationContext.xml in src/test/resources, aber der Frühling kann es nicht laden.

Vielen Dank.

25
robinmag

Um genau zu sein, ist es der Inhalt des Testausgabeverzeichnis (target/test-classes), der sich im Klassenpfad befindet, nicht src/test/resources. Ressourcen unter src/test/resources werden jedoch vom resources:testResources Ziel (das standardmäßig an die Phase process-test-resources gebunden ist) in Testausgabeverzeichnis kopiert.

Nachdem dies gesagt wurde, sieht Ihr Code gut aus, und die Ressourcen für den Testquellcode sollten beim Ausführen von Tests entweder von Ihrer IDE oder von Maven kopiert worden sein und sollten daher im Klassenpfad verfügbar sein. Es muss also etwas anderes stimmen. Ich kann sehen, dass Ihre Klasse eine Basisklasse für Integrationstests ist. Haben Sie etwas Besonderes in Ihrem Pom konfiguriert? Kannst du es zeigen?

25
Pascal Thivent

Versuchen Sie es mit *, damit Sie nach Ihrem Klassenpfad suchen können

@ContextConfiguration(locations={"classpath*:applicationContext.xml"})
16
prashant thakre

Es gibt einen gemeldeten Fehler mit der Verwendung der Federtestabhängigkeit (einschließlich SpringJUnit4ClassRunner) mit Versionen von JUnit> 4.4.

Wenn Sie eine neuere Version von JUnit als 4.4 verwenden, versuchen Sie, diese auf 4.4 zu verschieben und zu überprüfen, ob das Problem dadurch gelöst wird.

5
Jesse Webb

ihr Anwendungskontext muss im Klassenpfad enthalten sein und * angeben:

@ContextConfiguration(locations = { "classpath:*/application-context.xml" })
4
borchvm

Sie scheinen Maven zu benutzen und versuchen, die Tests in Eclipse auszuführen. Überprüfen Sie den Bauordner (target/test-classes/) auf applicationContext.xml. Wenn es nicht da ist, müssten Sie zuerst bauen.

1
Bozho

Es wurden keine Informationen zu Eclipse, Eclipse und Maven gefunden.ALTF5) может работать на вас.

0
Rupali

Ich glaube, ich habe ein ähnliches Problem. Ich fand heraus, dass meine application-context.xml nicht auf target/test-classes oder auf src/test/resources lag 

0
benzen