После завершения наших тестов мы хотим заархивировать наши отчеты о функциях в нескольких разных местах на основе проведенных тестов (регрессионные, ежедневные, специальные папки). Мы попытались использовать перехватчик afterFeature в конфигурации, но поскольку отчеты еще не созданы до завершения запуска, мы получаем сообщение об ошибке: целевая папка не найдена.
java.io.FileNotFoundException: target/karate-reports/karate-summary.html (No such file or directory)
.
Есть ли возможный способ скопировать файлы из памяти в нужные места или создать перехватчик после запуска для копирования файлов.
В настоящее время у нас есть задание, которое выполняется с интервалом и извлекает файлы из целевой папки, но мы хотели бы иметь возможность делать это во время выполнения, чтобы иметь текущие результаты, а не результаты предыдущих дней.
Тесты выполняются различными способами, например, с помощью опции запуска сценария или функции, команды запуска и/или команд mvn, в зависимости от того, кто или какой процесс запускает тесты.
Непонятно, почему требуется согласие или что-то в этом роде, чтобы получить ответы на дополнительные вопросы. Это даже не является требованием stackOverflow — stackoverflow.com/help/accepted-answer Not every user comes back to accept an answer
или stackoverflow.com/help/someone- Answers Accepting an answer is not mandatory; do not feel compelled to accept the first answer you receive.
— и отмечено как необязательный атрибут, поскольку не является обязательным. Кроме того, многие из полученных ответов на мое сообщение представляют собой просто комментарии к сообщению, а не ответы, поэтому принимать нечего.
вы правы, нет никакого принуждения принимать ответы и вообще нет никакого принуждения отвечать на вопросы, в некотором смысле это система чести. Кроме того, теоретически любой член сообщества должен иметь возможность подойти и ответить на вопросы, если вы не получаете ответа, это признак того, что вопрос не имеет смысла.
Поскольку из вашего вопроса звучит так, что ваш проект использует Maven, вы можете использовать maven-antrun-plugin, который обеспечивает возможность запуска задач (например, копирования файлов) на разных этапах жизненного цикла с использованием Maven непосредственно внутри вашего POM.
Вам просто нужно добавить следующее в качестве плагина в ваш POM и обновить пути в соответствии с вашими потребностями. Также обратите внимание на этап, который в вашем случае является тестом после интеграции, но может быть любой частью жизненного цикла.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>post-integration-test</phase>
<configuration>
<tasks>
<copy todir = "/path/to/alternate/location">
<fileset dir = "${project.build.directory}/target/karate-reports" />
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
не уверен, помогли ли какие-либо предыдущие ответы, поскольку ни один из них не был одобрен или принят, поэтому пройдет