У вас есть 2 варианта:
1) Передайте путь файла к тесту через системное свойство ( docs )
В вашей поме вы могли бы сделать что-то вроде:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<systemProperties>
<property>
<name>filePath</name>
<value>/path/to/the/file</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
Тогда в своем тесте вы можете сделать:
System.getProperty("filePath");
2) Поместите файл в src / test / resources в тот же пакет, что и ваш тестовый класс. Затем вы можете получить доступ к файлу с помощью Class.getResourceAsStream (String fileName) ( docs ).
Я бы настоятельно рекомендовал вариант 2 вместо варианта 1. Передача данных в ваши тесты через системные свойства - очень грязная IMO. Он связывает ваши тесты без необходимости с тест-бегуна и вызовет головные боли в будущем. Идет загрузка файла из classpath, и именно поэтому в maven есть концепция каталога ресурсов.