我有一个java应用程序,它有多个模块- (GWT-)RPC服务、perf-library、remote-client (所有java代码都由我的团队编写/拥有)。perf-library包含Spring方面的相关代码,它主要用于将截获的方法日志推送到数据存储区。现在,perf-library依赖于另一个远程客户端,它实际上维护一个队列并处理将日志推送到数据存储区的工作。因此,在某种程度上,perf-library只是将任务委托给远程客户端。业务逻辑代码调用具有AOP逻辑的被截获方法,因此存在对远程客户端的依赖。显然,我不想从单元测试中连接到远程客户端。我认为我需要模拟连接到远程客户端的方法push()的实现。我无法理解的是如何使用模拟实现进行业务逻辑代码包单元测试。
为了澄清问题,我有这样的模块-
RPC service module -例如方法login()被截获。perf-library -有方面(拦截login()之类的方法)和调用remote-client的实现remote-client -将数据推送到某些数据存储区现在,为了编写RPC服务方法的单元测试,我如何获得push()的模拟实现,因为它是perf-库的内部实现。比方说,我有一个接口LogClient (有方法push()),它由两个类实现(一个用于生产,另一个用于测试)。我可以将此Test实现用于perf-库本身的单元测试,但如何使RPC单元测试使用它。我是Spring的新手,所以我不确定这是否可以很容易地用Spring或其他任何东西来完成。任何帮助都会很好。
注意:我们使用Spring来维护bean和DI。
发布于 2012-09-12 09:38:29
不确定具体的方法,但莫基托是一个不错的选择。
有关详细信息,请查看此链接。
https://stackoverflow.com/questions/12385042
复制相似问题