Spring框架文档中指出:
在极少数情况下,测试可能会“污染”应用程序上下文,需要重新加载 - 例如,通过更改bean定义或应用程序对象的状态 - Spring的测试支持提供了机制,在执行下一个测试之前重新加载配置并重建应用程序上下文。
有人能详细解释一下吗?我不太明白。最好有例子。
Spring框架文档中指出:
在极少数情况下,测试可能会“污染”应用程序上下文,需要重新加载 - 例如,通过更改bean定义或应用程序对象的状态 - Spring的测试支持提供了机制,在执行下一个测试之前重新加载配置并重建应用程序上下文。
有人能详细解释一下吗?我不太明白。最好有例子。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/base-context.xml"})
public class SpringTests {
@Autowired
private MySpringBean bean;
@Test public void testModify() {
// dirties the state of a managed bean
bean.setString("newSring");
}
@Test public void testBeanString() {
assertEquals("string", bean.getString());
}
}
@DirtiesContext
注解表示测试方法可能会改变Spring管理的Bean的状态。