2014-12-22 1 views
0

Я просмотрел различные примеры с классом насмешки, подобные этим:Как следить за методом класса в Киви?

https://groups.google.com/forum/#!topic/kiwi-bdd/hrR2Om3Hv3I

https://gist.github.com/sgleadow/4029858

Mocking expectations in Kiwi (iOS) for a delegate

Класс Test имеет метод класса fetch.

То, что я пытаюсь достичь, - это увидеть, вызван ли метод из класса во время работы класса, который я хочу протестировать.

Что я делаю:

it(@"test", ^{ 
     id mock = [KWMock mockForClass:[Test class]]; 
     [[mock should] receive:@selector(fetch)]; 
     Repository *rep = [[Repository sharedInstance] rep]; //method `rep` invokes [Test fetch] at some point 
    }); 

И тест не пройден со следующей ошибкой:

[FAILED], expected subject to receive -fetch exactly 1 time, but received it 0 times 

Что я делаю не так? Как механизм шпиона должен работать над методами класса?

ответ

1
[[Test should] receive:@selector(fetch)]; 

То, как вы должны его проверять, так как класс метода не является классом экземпляра, вам не нужен объект класса. Автозаполнение, когда вы пишете, может не показывать его, поэтому вам нужно это сделать.

 Смежные вопросы

  • Нет связанных вопросов^_^