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