【发布时间】:2015-10-19 23:40:09
【问题描述】:
我使用 spring-boot-starter-web 和 spring-boot-starter-test。
假设我有一个用于绑定配置属性的类:
@ConfigurationProperties(prefix = "dummy")
public class DummyProperties {
@URL
private String url;
// getter, setter ...
}
现在我想测试我的 bean 验证是否正确。如果未设置属性 dummy.value 或它包含无效的 URL,则上下文应该无法启动(带有特定的错误消息)。如果属性包含有效的 URL,则上下文应该开始。 (测试会显示@NotNull 缺失。)
一个测试类应该是这样的:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyApplication.class)
@IntegrationTest({ "dummy.url=123:456" })
public class InvalidUrlTest {
// my test code
}
此测试将失败,因为提供的属性无效。告诉 Spring/JUnit 的最佳方式是什么:“是的,这个错误是意料之中的”。在普通的 JUnit 测试中,我会使用 ExpectedException。
【问题讨论】:
标签: spring junit spring-boot spring-test