Как проверить метод main () в SpringBoot? - PullRequest
0 голосов
/ 21 января 2019
@RunWith(SpringRunner.class)
@SpringBootTest
public class BankMainAppTest {

    /**
     * Test App load without throwing an exception.
     */
    @Test
    public void contextLoads() {
    }//pass

    @Test
    public void applicationStarts() {
        BankMainApp.main(new String[] {});
    }//fail throw exception given below..
}

java.lang.IllegalArgumentException: Не удается создать экземпляр класса фабрики: org.springframework.boot.env.EnvironmentPostProcessor

1 Ответ

0 голосов
/ 21 января 2019

Либо аннотируйте тестовый класс с помощью @SpringBootTest и объявляйте пустой тестовый метод, либо не аннотируйте тестовый класс, а вызовите метод main() в тестовом методе.
Но не делайте оба.
Здесь вы делаете это, и он запускает один контейнер (до выполнения теста), а затем еще один (в тесте метода).

Обратите внимание, что если вам не нужно делать никаких утверждений, потому что тест предназначен только для покрытияскорость, идиома, чтобы использовать это второй способ:

public class BankMainAppIT {
   @Test
   public void main() {
      BankMainApp.main(new String[] {});
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...