我想用springjunit runner编写测试用例来测试我的服务。
我的服务将调用另一个服务,并转换其输出并发送响应。
我认为服务器需要启动并运行,以便在运行junit时调用其他服务。
但是我被告知spring junit不需要服务器来运行。
看起来,Spring容器会起到神奇的作用。
我不太确定这是怎么发生的。
有没有人能告诉我spring容器是如何充当服务器的?
如果这是一个愚蠢的问题,请提前为that.Thanks道歉
发布于 2014-02-20 19:17:26
你需要服务器来运行java.class吗,答案是否定的,除非你有任何ejb组件要从你的服务调用,或者你的服务需要一些外部web服务来响应(在这里你可能需要模拟这个服务来提供模拟数据或在服务器上运行服务)我有调用数据访问层的服务,有时服务调用另一个服务。
在测试类中配置spring上下文所需的一切
@ContextConfiguration({ "classpath:spring-context.xml", "classpath:otherservice-context.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
@Component
public class TestJuint{
@Autowire
private otherService otherServiceImpl;
@Autowire
private service serviceImpl;
@Test
public void testDummy{
serviceImpl.addDummy(dummyObj);
}
}假设如果您需要来自其他包的另一个服务,那么您可能希望在上下文配置中包含它的上下文文件,以便在自动装配时它的bean引用将位于spring上下文中
https://stackoverflow.com/questions/21905374
复制相似问题