【发布时间】:2015-08-31 14:13:36
【问题描述】:
我有一个使用服务的基于 Spring 的 Java 应用程序。对于some reasons,我需要自动装配一个仅为单元测试而实施的服务。我希望这个自动装配的类成为一个 Mockito 模拟,这样我就可以将它传递给所有 Mockito 方法(when() 等)。我应该扩展或实现一些 Mockito 类吗?
例如
@Profile("test")
@Primary
@Service
public class MockAService implements AService {
public void callMethod(){}
}
那么在测试中我有
{
System.setProperty("spring.profiles.active", "test");
}
@Autowired AService aservice;
在我想做的测试方法中:
@Test
public void test(){
doNothing().when(aService).callMethod();
}
【问题讨论】:
-
您可能可以使用 bean 覆盖并为您的测试定义一个额外的上下文,并使用
@ContextConfiguration将其与原始应用程序上下文合并
标签: java spring unit-testing mockito