我想測試我的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)
「將燈變成綠色」。
如果不是我唯一的一種測試方法,我應該在哪裏預期異常?
謝謝,我一定已經忘記了這條規則:)現在它更容易了。 –