Ant build не может найти.txt файлы в Eclipse

Я работаю над проектом Java в Eclipse и в настоящее время пишу для него модульные тесты.

Чтобы получить красивую интерактивную сводку результатов теста, я создаю файл build.xml, выполнив

Файл >> Экспорт >> Файлы сборки Ant >> "Проверка моего проекта" и нажатие кнопки "Готово"

Затем я настраиваю файл сборки, используя представление "Изменить конфигурацию" в Eclipse, и выбираю тесты (наборы), которые я хочу запустить и завершить с помощью junitreport.

Это прекрасно работает, за исключением небольшого факта, что файлы конфигурации.txt, которые у меня есть, не могут быть найдены при запуске через Ant. Если я запускаю src файлы тестов, все работает как положено.

Я читаю файл в InputStream, как это

//CONFIG = "CONFIG/config.txt"
public static InputStream getConfigInputStream() throws IOException{
    File file = new File(CONFIG);
    return new FileInputStream(file);
}

Вот пример вывода с консоли:

NameValidationTest:
   [junit] Running se.st.dsg.pc.test.junit_test.tests.unit_tests.NameValidationTest
   [junit] Tests run: 4, Failures: 2, Errors: 1, Skipped: 0, Time elapsed: 0,123 sec
   [junit] Error: 
   [junit] java.io.FileNotFoundException: CONFIG\config.txt (The system cannot find the file specified)
   [junit]  at java.io.FileInputStream.open0(Native Method)
   [junit]  at java.io.FileInputStream.open(Unknown Source)
   [junit]  at java.io.FileInputStream.<init>(Unknown Source)
   [junit]  at se.st.dsg.input_stream_source.InputStreamSource.getConfigInputStream(InputStreamSource.java:26)
   [junit]  at se.st.dsg.core.syst_params.SystParamsParser.parseConfig(SystParamsParser.java:40)
   [junit]  at se.st.dsg.pc.test.junit_test.tests.unit_tests.NameValidationTest.setup(NameValidationTest.java:20)
   [junit]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [junit]  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   [junit]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   [junit]  at java.lang.reflect.Method.invoke(Unknown Source)
   [junit]  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
   [junit]  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
   [junit]  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
   [junit]  at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
   [junit]  at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
   [junit]  at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
   [junit]  at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
   [junit]  at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
   [junit]  at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
   [junit] Test se.st.dsg.pc.test.junit_test.tests.unit_tests.NameValidationTest FAILED

Я хотел бы подчеркнуть, что эта ошибка НЕ ​​возникает при нормальной компиляции и запуске в Eclipse, и что тесты, которые не читают файл.txt, работают должным образом при использовании Ant. Нужно ли сообщать Ant, где находятся файлы, или есть какой-то другой способ решения этой проблемы?

0 ответов

Другие вопросы по тегам