Pliki zasobów nie znalezione z przypadków testowych JUnit
streszczenie
Moje testy JUnit nie znajdują potrzebnych plików podczas wykonywania. Używam Maven do zarządzania zależnościami i kompilacji.
Detale
Wszystkie pliki wymagane przez przypadki testowe znajdują się w:src/test/resources
.
Na przykład,src/test/resources/resourceFile.txt
.
Aby uzyskać dostęp do zasobu, używam następującego kodu:
<code>URL url = getClass().getResource("/resourceFile.txt").getFile(); File file = new File(url); </code>
Ale wtedyfile.exists()
zwracafalse
. A błąd, który otrzymuję to:
<code>Tests in error: myJUnitTestCase(tests.MyJUnitTestClass): /home/me/workspace/Project%20Name/target/test-classes/resourceFile.txt (No such file or directory) </code>
Zauważ, że poniżej podano ten sam błąd (zwróć uwagę na usunięty/
prefiks):
<code>URL url = getClass().getClassLoader().getResource("resourceFile.txt").getFile(); File file = new File(url); </code>
Wygląda na to, że pliki zsrc/test/resources
nie są kopiowanetarget/test-classes
.
Jakieś pomysły?
Poniższe pytania nie pomogły
Dlaczego nie mogę uzyskać dostępu do src / test / resources w teście Junit z Maven?
Ładowanie pliku właściwości w JUnit @BeforeClass
Jak radzić sobie z danymi testowymi w Junit?
Wersje oprogramowania
Ubuntu 12.04
Apache Maven 2.2.1
Java 1.7.0
Eclipse (Java EE IDE dla programistów internetowych) Indigo Service Release 2
(obcięty) 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>