Я пишу приложение с AngularJS. Я пишу юнит-тесты для моего углового служения с кармой и жасмином. Он не работает должным образом, так как юнит-тесты продолжают выдавать мне следующие ошибки:
Ожидается, что шпионская фотография будет вызвана.
Вот мой код с ошибкой: https://codepen.io/aubz/pen/zXyvbj
Вот фрагмент кода моего модульного теста:
it('should process the plain clocking settings', function () {
ClockingRecordTypeFactory.getRecord('plain', 'here', null, null, null, null, null);
spyOn(ClockingRecordTypeFactory, 'plain').and.callFake(function () {});
spyOn(ClockingRecordTypeFactory, 'photo').and.callFake(function () {});
spyOn(ClockingRecordTypeFactory, 'geo').and.callFake(function () {});
spyOn(ClockingRecordTypeFactory, 'manual').and.callFake(function () {});
expect(ClockingRecordTypeFactory.plain).toHaveBeenCalled();
expect(ClockingRecordTypeFactory.photo).not.toHaveBeenCalled();
expect(ClockingRecordTypeFactory.geo).not.toHaveBeenCalled();
expect(ClockingRecordTypeFactory.manual).not.toHaveBeenCalled();
});
и функции, которую я пытаюсь проверить:
function getRecord(type, origin, coords, imageData, comments, reason, date) {
var record = getBaseClockingRecord();
if (type === 'plain') {
plain(record);
}
if (type === 'photo') {
photo(record);
}
if (type === 'geo') {
geo(record, coords);
}
if (type === 'manual') {
manual(record);
}
return record;
}