dce*_*chi 2 java integration-testing seam mocking mockito
我正在使用一些遗留代码,我需要测试一些昂贵的服务被调用(它会进行网络呼叫,发送电子邮件等).
我可以通过使用的框架(jboss seam 2)注入假服务而不是原始服务.看到这个问题:单元测试的Mock @ org.jboss.seam.annotations.in行为
我现在希望我的假对象是一个更聪明的模拟断言是否已被调用,等等.我希望它是一个Mockito或Easymock或其他一些模拟.但是,由于接缝2和接缝测试处理注射的方式,在测试中构建模拟经典方式然后注入它是不起作用的.请参阅上面的链接.
问题:有没有办法让我的模拟扩展或注释,以成为Mockito或模拟?如何在测试中获得对它的引用?
我不同意你所关联的问题的答案.单元测试应该独立于它应该工作的环境测试该类.依赖注入框架正好用于能够在单元测试中注入模拟依赖项,而无需任何复杂的环境来运行单元测试.
我不知道Seam,但它的文档说@In可以放在属性访问器上.我会像这样测试这个类:
public class someBean implements Serializable {
private ApplicationBean applicationBean
@In
protected void setApplicationBean(ApplicationBean applicationBean) {
this.applicationBean = applicationBean;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我只是打电话给setter在单元测试中注入mock.
您也可以让代码保持原样,但提供一个setter或一个额外的构造函数,以便能够注入一个模拟的applicationBean.
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |