道歉,因为这似乎是一个无用的行为,但有没有办法我们可以实际上对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()?感谢任何一个例子.谢谢你们!
通常,以下内容足以测试应用程序上下文是否启动.
@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 }); } }