При запуске mvn test я вижу следующее на консоли -
[INFO] Surefire report directory: /mnt/vdb/jenkins/jobs/selenium-production-tests/workspace/target/surefire-reports
Но когда я печатаю каталоги в каталоге target, я получаю -
Directory classes
Directory surefire
Directory maven-status
Directory test-classes
Directory generated-sources
Directory generated-test-sources
Почему здесь нет surefire-reports?
Я печатаю каталоги как -
File folder = new File(System.getProperty("user.dir") + "/target/");
File[] listOfFiles = folder.listFiles();
for (File listOfFile : listOfFiles) {
if (listOfFile.isFile()) {
System.out.println("File " + listOfFile.getName());
} else if (listOfFile.isDirectory()) {
System.out.println("Directory " + listOfFile.getName());
}
}
Я хочу получить файл /target/surefire-reports/testng-failed.xml. Использование basedir также не показывает surefire-reports в папке target. На самом деле я получаю тот же результат, что и при использовании user.dir. Где спрятан каталог surefire-reports?
Сначала вы должны использовать basedir и добавить к нему соответствующий каталог... basedir находится в каталоге, где находится pom.xml. Но, честно говоря, я не знаю, почему вы пытаетесь найти эти каталоги, потому что результаты модульных тестов накапливаются Дженкинсом ... Поэтому я не понимаю вашего подхода или лучше того, чего вы хотите достичь и какую проблему вы пытаетесь решить?
Виноват. Delete workspace before build starts был проверен, поэтому рабочая область удалялась каждый раз, когда я строил, и, следовательно, папка surefire-report отсутствовала.




Используйте
basedirвместоuser.dir, кроме того, почему вы пытаетесь получить доступ через файл? запускаете своего рода интеграционные тесты, основанные на чтении чего-то о селене? Если maven-surefire-plugin является неправильным, потому что интеграционные тесты должны выполняться с помощью maven-failsafe-plugin.. схема именования: модульный тест*Test.java, а интеграционные тесты*IT.javaсм. документы плагина maven-failsafe/maven-surefire...