抱歉,这似乎是没有用的行为,但是有什么方法可以实际对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,也可以这样进行测试:
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 }); } }