小编典典

如何JUnit测试Spring-Boot的Application.java

spring-boot

抱歉,这似乎是没有用的行为,但是有什么方法可以实际对Spring-
Boot(1.3.8.RELEASE)的Application.java进行junit测试,该类除了启动Spring-boot之外什么也不做应用?

如下:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {

       try{
             SpringApplication.run(Application.class, args);
       }catch(Exception e){
             //code here
       }   
    }
}

也许我可以尝试捕获异常?但是我还可以测试什么,以便JUnit可以测试SpringApplication.run()?任何例子都值得赞赏。谢谢你们!


阅读 423

收藏
2020-05-30

共1个答案

小编典典

通常,以下内容足以测试应用程序上下文是否启动。

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class ApplicationTests {

    @Test
    public void contextLoads() {
    }
}

但是,如果您想直接测试Application.main,也可以这样进行测试:

public class ApplicationTest {

    @Test
    public void test()
    {
        Application.main(new String[]{
                "--spring.main.web-environment=false",
                "--spring.autoconfigure.exclude=blahblahblah",
                // Override any other environment properties according to your needs
        });
    }
}
2020-05-30