Я использую Jasmine для проверки того, созданы ли определенные объекты и на них вызывается метод.
У меня есть виджет jQuery, который создает объекты flipcounter и вызывает на них метод setValue. Код для flipcounter находится здесь: https://bitbucket.org/cnanney/apple-style-flip-counter/src/13fd00129a41/js/flipcounter.js
Флип-счетчики создаются с использованием:
var myFlipCounter = new flipCounter("counter", {inc: 23, pace: 500});
Я хочу проверить, что создаются flipcounters, и на них вызывается метод setValue. Моя проблема заключается в том, как я могу следить за этими объектами еще до их создания? Я шпионить за конструктором и возвращать поддельные объекты? Пример кода действительно поможет. Спасибо за вашу помощь!:)
Update:
Я пробовал следить за flipCounter следующим образом:
myStub = jasmine.createSpy('myStub');
spyOn(window, 'flipCounter').andReturn(myStub);
//expectation
expect(window.flipCounter).toHaveBeenCalled();
Затем тестирование для вызова setValue с помощью flipCounter:
spyOn(myStub, 'setValue');
//expectation
expect(myStub.setValue).toHaveBeenCalled();
первый тест для инициализации flipCounter в порядке, но для тестирования вызова setValue все, что я получаю, это метод 'setValue() не существует'. Правильно ли я делаю это? Спасибо!