0
我是科尔多瓦应用程序的测试新手,所以你可以给我一个关于什么是“最佳实践”在我的情况的建议? 情况:我有一个模块工厂:如何模拟调用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
我已经找到了可能的解决方案,如chrome-cordova扩展,但它在我的情况下不起作用(或者我做错了它)。那么我应该在这里做什么?模拟电话设备方法?如果是的话,该怎么做?
在此先感谢!
感谢您的回答,但不幸的是,这并不适合我,因为我们的应用程序不针对浏览器平台,所以我不能在测试中使用它。我决定使用另一种方法,即在模拟器上运行茉莉花测试,以便所有插件都能正确加载。 – AlenSv