Файлы ресурсов не найдены в тестовых примерах JUnit
Summary
Мои тесты JUnit не находят файлы, которые им требуются во время выполнения. Я использую Maven для управления и компиляции зависимостей.
Details
Все файлы, необходимые для тестовых случаев, находятся в:src/test/resources
.
Например,src/test/resources/resourceFile.txt
.
Для доступа к ресурсу я использую следующий код:
<code>URL url = getClass().getResource("/resourceFile.txt").getFile(); File file = new File(url); </code>
Но потомfile.exists()
возвращаетсяfalse
, И ошибка, которую я получаю:
<code>Tests in error: myJUnitTestCase(tests.MyJUnitTestClass): /home/me/workspace/Project%20Name/target/test-classes/resourceFile.txt (No such file or directory) </code>
Обратите внимание, что следующее дает ту же ошибку (обратите внимание на удаленный/
префикс):
<code>URL url = getClass().getClassLoader().getResource("resourceFile.txt").getFile(); File file = new File(url); </code>
Кажется, что файлы изsrc/test/resources
не копируются вtarget/test-classes
.
Есть идеи?
The following questions did not help
Почему я не могу получить доступ к src / test / resources в тестовом запуске Junit с Maven?
Загрузка файла свойств в JUnit @BeforeClass
Как бороться с тестовыми данными в Junit?
Software Versions
Ubuntu 12.04
Apache Maven 2.2.1
Java 1.7.0
Eclipse (Java EE IDE для веб-разработчиков), Indigo Service Release 2
(truncated) 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>