У меня проблема с моими испытаниями в Maven и Eclipse.Maven - Переопределить папку тестовых ресурсов
Я бегу мой тестовый набор из Eclipse, и все работает хорошо, но когда я бегу
mvn test
У меня есть исключение, и оно появляется, когда я пытаюсь прочитать некоторые файлы в тестовых случаях, подобных этому:
final File javaFolder = new File("WEB-INF/test/file");
Когда я делаю, что у меня есть исключение нулевого указателя и отладки я увидел, что путь
C:\Users\myUser\AppData\Local\Temp\WEB-INF\test\file
Кроме того, я думаю, что важно сказать, что я переписал тестовый каталог в моем пом, потому что нам нужны тестовые источники в специальном месте. Мы сделали это таким образом:
<testSourceDirectory>WEB-INF/test/java</testSourceDirectory>
Так что мой вопрос: почему работают тесты с Maven не получают правильный рабочий каталог? Могу ли я определить конкретную папку для чтения некоторых файлов? Я пытался с вещами, как
getClass().getResource("myFile").getFile()
но когда я напечатал абсолютный путь я снова
былC:\Users\myUser\AppData\Local...\myFile
Edit: У меня не было возможности следовать конвенции, потому что я говорю о большой системе, никогда не использовал Maven, поэтому не может изменить всю структуру каталогов. К сожалению, это не мое решение.
Кроме того, когда я печатаю мой «user.dir» У меня есть: C:\Users\myUser\AppData\Local\Temp
Edit2: мой путь проекта в другом разделе E:\work\myProject
Спасибо за ответ. это: 'C: \ Users \ Marcos \ AppData \ Local \ Temp \ classpath: \ WEB-INF \ test \ file' Итак, у меня был NPE снова по понятным причинам :( – MarcosTonina
добавление каталога testResource, скорее всего, решит проблему * предполагая, что он использует метод getResource() ', упомянутый в сообщении. Кстати, это комбо - лучший способ держать тесты гибкими. Другие решения в конечном итоге ломаются, когда вы меняете, скажем, тест сборки на тестовый прогон как веб-приложение (это мое лучшее предположение, почему они должны быть в WEB-INF) – Gus
Может быть вариант переноса моих тестов с WEB-INF в другую папку. Вы рекомендуете это? – MarcosTonina