Ressourcendateien aus JUnit-Testfällen nicht gefunden

Zusammenfassung

Meine JUnit-Tests finden nicht die Dateien, die sie während der Ausführung benötigen. Ich verwende Maven für die Verwaltung und Kompilierung von Abhängigkeiten.

Einzelheiten

Alle für die Testfälle erforderlichen Dateien befinden sich in:src/test/resources.

Zum Beispiel,src/test/resources/resourceFile.txt.

Um auf eine Ressource zuzugreifen, verwende ich den folgenden Code:

<code>URL url = getClass().getResource("/resourceFile.txt").getFile();
File file = new File(url);
</code>

Aber dannfile.exists() kehrt zurückfalse. Und der Fehler, den ich bekomme, ist:

<code>Tests in error: 
  myJUnitTestCase(tests.MyJUnitTestClass): /home/me/workspace/Project%20Name/target/test-classes/resourceFile.txt (No such file or directory)
</code>

Beachten Sie, dass im Folgenden derselbe Fehler angezeigt wird (beachten Sie, dass der Code entfernt wurde)/ Präfix):

<code>URL url = getClass().getClassLoader().getResource("resourceFile.txt").getFile();
File file = new File(url);
</code>

Es scheint, als ob die Dateien aussrc/test/resources werden nicht kopierttarget/test-classes.

Irgendwelche Ideen?

Die folgenden Fragen haben nicht geholfen

Warum kann ich im Junit-Testlauf mit Maven nicht auf src / test / resources zugreifen?

Laden der Eigenschaftendatei in JUnit @BeforeClass

Wie gehe ich mit den Testdaten in Junit um?

Softwareversionen

Ubuntu 12.04

Apache Maven 2.2.1

Java 1.7.0

Eclipse (Java EE IDE für Webentwickler) Indigo Service Release 2

(abgeschnitten) Maven POM

<code><?xml version="1.0" encoding="UTF-8"?>
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.groupId</groupId>
    <artifactId>artifactId</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>name</name>
    <build>
        <finalName>name</finalName>
        <directory>target</directory>
        <outputDirectory>target/classes</outputDirectory>
        <testOutputDirectory>target/test-classes</testOutputDirectory>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
</code>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage