我有一个春天托管的应用程序,我喜欢我的服务层被嘲笑。所以我创建了一个Spring应用程序Java配置并返回了实际服务的模拟。春天试图autowire Mockito嘲笑
对于e.g,
@Bean
@Profile("resource")
public MyService mockService() {
return mock(MyService.class)
}
然后是为MyService竟把
class MyService {
@Autowired
private MyDao dao;
}
当春天创建一个name "mockService"
的豆,它也试图自动装配的模拟MyDao
?这在我看来打败了嘲笑的目的。这是预期的行为,解决方法是什么?
不要嘲笑课程。该模拟仍然是一个带有所有注释和类信息的MyService。你使它成为一个bean,所以它仍然会扫描并检测注释。 –
计数器建议:考虑在测试运行期间不要加载弹簧。 具体而言,请勿使用@RunWith(SpringJunit ...)注释。 你应该能够使用Mockito模拟单元测试的类使用的所有东西,然后运行实际的单元测试。 – DwB
感谢这两个答案,他们两个都有道理,编码到界面可能会解决问题。虽然 –