【发布时间】:2013-06-24 19:27:38
【问题描述】:
使用 Mockito 测试 EJB3。我试图弄清楚如何在不更改访问权限的情况下注入模拟 SessionContext。
SessionContext 通过@Resource 注入如下:
@Resource
protected void setSessionContext(SessionContext sessionContext)
{
this.sessionContext = sessionContext;
}
我确实阅读了以下答案,展示了如何使用 jmockit 执行此操作:Mock injected SessionContext
有没有办法在 Mockito 中做同样的事情?
此外,我阅读了以下关于 Mockito 和私有成员变量的答案,这意味着应该重构代码(setter 方法或构造函数参数): https://stackoverflow.com/a/8995712
将setSessionContext 更改为public 感觉不对,当SessionContext 确实不能用于在EJB 及其后代之外设置时,更改应用程序代码以使其可使用模拟框架进行测试。
如果有人有任何想法或建议,我将不胜感激。先感谢您。 :-)
【问题讨论】: