我想编写测试用例,以使用springjunit运行器测试我的服务。
我的服务将调用另一个服务并转换其输出并发送响应。
我认为该服务器需要启动并运行才能在运行 junit 时调用其他服务。
但是有人告诉我,Spring junit不需要服务器来运行。
弹簧容器会发挥它看起来的魔力。
我不太确定这是怎么发生的。
任何人都可以启发我弹簧容器如何充当服务器吗?
如果它如此愚蠢,对不起。提前致谢
服务器来运行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 上下文中