2014-10-07 2 views
1

Когда я запускаю тест в IntelliJ, он хорошо работает, но если я запускаю его в командной строке какGradle тест не работает хорошо

gradle test или gradle clean test

это rerurns java.io.FileNotFoundException

String FILE_PATH = "sample/src/test/resources/" 
IDataSet insertDataSet = new FlatXmlDataSet(new FileInputStream(FILE_PATH + "com/sample/mst.xml")); 

Проектная структура:

TestProject

  • образец
    • SRC
      • Главный
      • тест
        • Java
          • ком
            • образца
              • Test.java
        • ресурсы
          • ком
            • образец
              • mst.xml
Что случилось, что я должен делать?

ответ

0

Вы должны изменить файл кода нагрузочное:

getClass().getClassLoader().getResourceAsStream("mst.xml")

+0

Спасибо большое !!!! Это хорошо работает :) Если бы вы могли, PLS объяснить точку. – mo12mo34

+1

Пояснение является частью вводных курсов по Java, и многое можно узнать и из Javadoc. Короткая версия: ваша попытка разрешила файл, используя относительный путь из текущего рабочего каталога, предполагая, что это CWD. Предлагаемое решение ищет ресурс на пути к классу, зная, что существует иерархическая структура (обычно файловая система или архив ZIP/JAR) и оставляющая детали во время выполнения. – Radim

Смежные вопросы