首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mockito:注入模拟SessionContext

Mockito:注入模拟SessionContext
EN

Stack Overflow用户
提问于 2013-06-25 03:27:38
回答 1查看 1.2K关注 0票数 0

使用Mockito测试EJB3s。我正在尝试找出如何在不更改访问权限的情况下注入模拟SessionContext。

通过@Resource注入SessionContext,如下所示:

代码语言:javascript
复制
@Resource
protected void setSessionContext(SessionContext sessionContext)
{
    this.sessionContext = sessionContext;
}

我读到了下面的答案,展示了如何使用jmockit做到这一点:Mock injected SessionContext

有没有办法在Mockito中做同样的事情?

另外,我读到了以下关于Mockito和私有成员变量的答案,这意味着应该重构代码(设置方法或构造函数参数):https://stackoverflow.com/a/8995712

setSessionContext更改为公共感觉是错误的,更改应用程序代码以使其可用模拟框架进行测试,而SessionContext确实不应该用于在EJB及其后代外部进行设置。

如果任何人有任何想法或建议,我将不胜感激。提前谢谢你。:-)

EN

回答 1

Stack Overflow用户

发布于 2013-06-25 04:29:24

您可以使用Whitebox.setInternalState,它使用反射来为对象内部的变量赋值。

代码语言:javascript
复制
Whitebox.setInternalState(target, field, value)

目标-目标对象

field -字段的字符串名称,大小写为“sessionContext

值-模拟SessionContext。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17283505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档