Я использую 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});
Я хочу проверить, созданы ли флип-счетчики и для них вызывается метод setValue.Моя проблема в том, как мне следить за этими объектами еще до того, как они будут созданы?Шпионить за конструктором и вернуть поддельные объекты?Пример кода действительно поможет.Спасибо за вашу помощь!:)
Обновление:
Я пытался шпионить за 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 () не существует».Я делаю это правильно?Спасибо!