Автоматический перезапуск для весенних загрузочных тестов - PullRequest
0 голосов
/ 30 марта 2020

Я сейчас пишу модульные и интеграционные тесты для приложения Spring Boot. Для разработки я использую Spring Tool Suites 4.

Когда я запускаю приложение с помощью Spring Tool Suites, автоматический перезапуск работает нормально, когда я изменяю и сохраняю файл. Я пытаюсь найти похожий способ запуска своих тестов.

В настоящее время я запускаю тесты с использованием отдельного терминала Windows CMD с использованием Maven:

mvn test

Это выполняется один раз и завершается. Есть ли возможность запускать тесты при каждом сохранении тестового файла?

Редактировать: Вот пример запускаемого мной теста, в котором для запуска тестов используются JUnit и Spring. Это взято прямо с сайта Spring.io https://spring.io/guides/gs/testing-web/

import static org.assertj.core.api.Assertions.assertThat;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class ControllerTest {

  @Autowired
  private Controller controller;

  @Test
  public void contexLoads() throws Exception {
    assertThat(controller).isNotNull();
  }
}

1 Ответ

0 голосов
/ 16 апреля 2020

Я нашел этот плагин Maven https://github.com/fizzed/maven-plugins#watcher -fizzed-watcher-maven-plugin , который будет смотреть файлы и позволять вам запускать определенные c цели Maven при изменениях файлов.

I добавил плагин к своему POM и изменил цель на «тест».

<build>
  <plugins>
    <plugin>
      <groupId>com.fizzed</groupId>
      <artifactId>fizzed-watcher-maven-plugin</artifactId>
      <version>1.0.6</version>
      <configuration>
        <touchFile>target/classes/watcher.txt</touchFile>
        <watches>
          <watch>
            <directory>src/main/java</directory>
          </watch>
          <watch>
            <directory>src/test/java</directory>
          </watch>
        </watches>
        <goals>
          <goal>test</goal> 
        </goals>
      </configuration>
    </plugin>
  <plugins>
<build>  

Я открыл терминал в Spring Tool Suites (ctrl + alt + t), закрепил его рядом с моей консолью и запустил следующее :

mvn fizzed-watcher:run

Пока все работает так, как я хочу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...