【发布时间】:2013-04-22 15:29:49
【问题描述】:
我在 Web 应用程序中使用基于 java 的配置:
public class SpringInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.getEnvironment().getPropertySources().addLast( myMethod() );
ctx.scan("com.xxx.xxx");
}
}
我该如何测试它?
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(????????????)
public class PersistenceConfigurationTest {
@PersistenceContext EntityManager entityManager;
@Autowired DataSource dataSource;
@Test
public void infrastructureShouldBeAutowired() {
assertNotNull(dataSource);
assertNotNull(entityManager);
}
}
补充说明: 有一些答案建议如何基于相同的配置类创建另一个上下文。我不能这样做,因为我微调了创建的上下文(添加了一些属性)。我刚刚添加了代码
【问题讨论】:
-
需要澄清一下,您想知道如何测试您的
SpringInitializer课程吗?或者您想知道如何使用 java config 加载@ContextConfiguration进行测试? -
不,我想测试我的 dao。但我正在手动构建我的上下文
标签: java spring unit-testing testing web-applications