• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

利用 Eclipse 进行单元测试

发布: 2008-6-23 16:07 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网

.t {LFJ&Y7j

$S^8z Lgdh

Yb9r&J S+yIX
使用 intercept() 方法的备选方法
j3y"@k.~t"X!u

h-XQ%s wz-imE通过 RMock,您可以使用 intercept() 方法仅模拟具体类。可以使用 RMock mock() 方法模拟具体类和接口。仅当需要模拟那几个重要方法时,使用 interface() 方法。此方法被视为经过改进的 mock() 方法。软件测试技术网_}r2t.\0wsj)h

软件测试技术网$] ^:kw.VO

setUp() 方法内,用 Collaborator 类的构造方法所需的实际 值实例化对象数组。该数组被立刻传递给 RMock 的 intercept() 方法来帮助实例化模拟对象。方法的签名类似于 jMock CGLIB mock() 方法的签名,因为这两种方法将接纳惟一模拟对象标识符作为参数。模拟对象到 Collaborator 类型的类强制转换十分有必要,因为 intercept() 方法将返回类型 Object软件测试技术网| T#R H6g6pkS5j3Xp

软件测试技术网 U@ZG^ bL

在测试方法本身 testRunServiceAndReturnFalse() 之内,您可以看到更多更改。模拟 Collaborator 对象的 executeJob() 方法将被调用。在此阶段,模拟对象处于记录状态 —— 即简单地定义对象将一直期望的方法调用,因此,模拟将相应地记录期望。下一行是对模拟对象的通知,用于确保当它遇到 executeJob() 方法时,它应当返回字符串 failure。因此,使用 RMock,您只需通过调用方法而不调用模拟对象(并传递它可能需要的任何参数)来描述期望,然后修改该期望以相应地调整任何返回类型。软件测试技术网"D3HW!T3H#RBw.@ i

软件测试技术网J*t F+k'C-pJ

最后,调用 RMock 方法 startVerification() 把模拟 Collaborator 对象转为就绪状态。模拟对象现已准备好在 ServiceClass 类中作为实际对象使用。该方法非常重要并且必须调用它才能避免测试初始化失败。软件测试技术网]M^ MS)p