1

我正在使用 mockejb 框架来模拟内存中的实体 bean,我进行了查找,mockejb 为我带来了真实实体的代理。那行得通。

但是我需要从容器 JNDI 中获取一个 Session Bean 来“理解”它。我的意思是,当会话 Bean 查找实体 Bean 时,我希望它接收我模拟的 bean,而不是来自数据库的 bean。

我无法模拟这个会话 Bean,因为在我试图模拟的方法中,有一个对实体 bean 的查找,所以我需要这个方法才能正常执行,但在查找时接收模拟的 bean。

[更新]关于我的开发环境的信息:我正在使用 IBM RSA 7.5、IBM Websphere 6.1,我有一个在 Cactus 容器中运行的 Web 测试项目,我的类路径上的最后一个库是:

  • 仙人掌-1.7.2.jar
  • cglib-nodep-2.1_3.jar
  • commons-httpclient-2.0.2.jar
  • commons-logging-1.0.4.jar
  • powermock-easymock-1.3.9-full.jar
  • junit-3.8.1.jar
  • mockejb.jar

Obs.:我已经使用 jUnit4 更改为最新的 powermock 版本,并尝试仅使用 EasyMock 3.0,还尝试了 EasyMock 2.x 及其类扩展。这些都不起作用。真正让我感兴趣的是 EasyMock 文档中提到的 DefaultInstantiator 配置:http: //easymock.org/EasyMock2_4_ClassExtension_Documentation.html。我想知道这是否是我的情况(不支持 JVM)并且我无法使其工作。

感谢您的帮助。

4

1 回答 1

1

“我无法模拟这个会话 Bean,因为在我试图模拟的方法中,有一个对实体 bean 的查找,所以,”

你不能使用 PowerMock 之类的东西来“伪造”查找吗?就像替换方法等一样。

这是我最近遇到的事情:http: //dave00ster.blogspot.com/2011/07/powermock-static-method-replace.html

希望这会有所帮助, dave00

于 2011-07-13T19:34:06.190 回答