1

我有一堂课,我有一个对象。我正在测试一个调用该对象的方法,但该对象与我的测试无关,所以我想忽略它。

Class TestedClass {
 ObjectX obj;

  method() {
   /* some processing */
   obj.someMethod().otherMethod(lotofparameters);  /* i want to ignore this line in my test */ 
  }
}

所以我想在method()不使用参数调用这些方法的情况下进行测试obj

感谢你

4

1 回答 1

2

使用方法模拟它createMock。然后使用该anyTimes方法基本上忽略对它的任何调用。

expect(objMock.someMethod())
        .andReturn(42).times(3)

如果你需要它来做某事,我会退货。查看他们的文档了解更多信息。

编辑(解决第一条评论)

someMethod返回另一个模拟。然后模拟otherObj.otherMethod。至于参数,请考虑使用我链接到的文档中列出的匹配器。您甚至可以制作自己的匹配器,所以也许这可以帮助解决您的问题。

于 2011-03-18T14:43:38.753 回答