ECL Эмма, как обращаться с тестовыми ресурсами - PullRequest
0 голосов
/ 06 апреля 2011

я написал модульный тест, где я ссылаюсь на файл, который находится в src / test / resources.Код выглядит так:

private static final String TEST_FILE = MyClass.class.getResource("").getPath() + "myfile.properties";

Когда я запускаю этот тест в затмении с обычным JUnit Runner, все работает нормально.Но когда я запускаю этот тест с ECL Emma, ​​тест не пройден.

После некоторых исследований я обнаружил, что каталог выполнения отличается.ECL Emma имеет свою собственную папку вывода, куда она копирует все необходимые ресурсы и затем запускает тесты.Но это не копирует мой тестовый файл.Я не знаю, как это исправить.Я надеюсь, что кто-нибудь может мне помочь.

1 Ответ

2 голосов
/ 07 апреля 2011

Вы можете использовать встроенные инструменты, как описано здесь:

http://www.eclemma.org/userdoc/launching.html

Эмма не будет влиять на путь к классам / копировать файлы классов.будет держать ваши ресурсы в отдельной папке ресурсов (не в src /) и добавить эту папку в путь к классам.

И, возможно, было бы лучше получить файл как InputStream:

  InputStream inStream = MyClass.class.getResourceAsStream("/myfile.properties");
...