我想测试我的Spring Boot应用程序的情况下,当没有配置文件给出。在这种情况下,应用程序在创建bean MyConfig
时应该引发异常。测试弹簧的情况下,甚至不应该加载的情况下
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Bean
public MyConfig myConfig() throws IOException {
if (no config file) throw new NoConfigFileException();
}
}
我有一个测试,如果Spring应用程序的上下文是建立在此进行测试:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyApplication.class)
@TestPropertySource(locations="classpath:file_with_existing_config_file_path.properties")
public class MyApplicationTest {
@Test
public void contextLoads() {
}
}
测试失败 - 如预期(因为myConfig
方法抛出NoConfigFileException
)。不幸的是,我不能使用注释@Test(expected = NoConfigFileException.class)
“将灯变成绿色”。
如果不是我唯一的一种测试方法,我应该在哪里预期异常?
谢谢,我一定已经忘记了这条规则:)现在它更容易了。 –