OCMock不转发valueForKeyPath:调用

时间:2014-10-27 11:08:13

标签: ios unit-testing ocmock

我有一个对象A,它有一个返回模拟对象的属性。然后我向对象A询问valueForKeyPath:,其中路径是模拟对象属性的路径。我可以在调试器中看到valueForKeyPath:在对象A上正确执行,并且在对象A上调用valueForKey:,它返回模拟对象。但是,模拟对象永远不会调用valueForKeyPath:valueForKey:

这是我的模拟创作:

self.reservationMock = [OCMockObject niceMockForClass:[Reservation class]];
self.sut = [[Controller alloc] initWithReservation:self.reservationMock];

模拟存储在reservation中。我在reservation.reservationMode上使用sut评估谓词。

我收到以下电话:

  • valueForKeyPath:@"reservation.reservationMode"
  • valueForKey:@"reservation"

就是这样。如果我不模拟对象,则评估将继续对Reservation对象进行以下调用。

  • valueForKeyPath:@"reservationMode"
  • valueForKey:@"reservationMode"

知道这里发生了什么吗?

0 个答案:

没有答案