Maven: получить путь к выходному JAR из интеграционного теста - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу написать тест E2E для проекта Maven.Поток будет запускать полученный JAR и проверять его вывод.Вопрос в том, как я могу получить путь к выходному JAR из интеграционного теста (написанного на JUnit, запускаемом плагином Failsafe).

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете использовать командную строку или сделать запись в pom.xml, чтобы указать, где вы хотите сохранить файл JAR.

в командной строке

-DoutputDirectory=<specify_your_path>

Включено в вашем pom.xml

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>x.y.z</version>
      <configuration>
        <outputDirectory>/your/path/for/jar</outputDirectory>
      </configuration>
    </plugin>
  </plugins>
</build>

Теперь о том, как читать путь в тесте : модульный тест все равно будет запущен, даже если не использовать Maven, целевой каталог все равно будет создан на две ступени выше, чем текущийрабочий каталог, где бы ни выполнялись тесты.Вы можете использовать метод ниже, чтобы получить целевой каталог в тесте.

public File targetDir(){
  String relPath = getClass().getProtectionDomain().getCodeSource().getLocation().getFile();
  File targetDir = new File(relPath+"../../target");
  if(!targetDir.exists()) {
    targetDir.mkdir();
  }
  return targetDir;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...