Я новичок в тестировании приложения Кордовы, так что вы могли бы дать совет о том, что такое «лучшая практика» в моей ситуации? ситуация: У меня есть модуль завод:Как издеваться над вызовами плагинов Cordova?
angular
.module('app.services')
.factory('UtilsService', UtilsService);
function UtilsService() {
var service = {
isWindows: isWindows,
isAndroid: isAndroid
};
return service;
function isWindows() {
return /windows/i.test(device.platform);
}
function isAndroid() {
return /android/i.test(device.platform);
}
}
и простой тест для isWindows метода:
describe('Util Service Tests', function() {
var utilSvc;
beforeEach(function() {
module('app');
});
beforeEach(function() {
inject(function($injector) {
utilSvc = $injector.get('UtilsService');
});
});
it('should detect windows', function() {
expect(utilSvc.isWindows).toBe(true);
});
});
Я запускать тесты с Chitzpah бегуном и получить ошибку:
'device' is undefined
Я нашел возможное решение, например, расширение хром-кордовы, но оно не работает в моем случае (или я делаю с ним что-то не так). Итак, что мне здесь делать? Mock звонки на устройство метод? Если да, как это сделать?
Заранее благодарен!
Спасибо за ваш ответ, но, к сожалению, это не сработало для меня, потому что наше приложение не предназначено для платформы браузера, поэтому я не могу использовать его в тестах. Я решил использовать другой подход, то есть запустить тесты жасмина на эмуляторе, чтобы все плагины были загружены правильно. – AlenSv