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