我正在用Karma/Jasmine做離子應用程序的單元測試。我有一個.js稱爲initApp.js與此代碼:Karma + Jasmine + Ionic併發性
function initFactoryString() {
if (angular.isUndefined(thiz.string_list)) {
$http.get(url + 'strings/strings.json').success(function (response) {
$rootScope.static_strings = response;
});
}
};
ionic.Platform.ready(function() {
initFactoryString();
});
initFactoryString()加載與應用程序的字符串一個JSON文件。在另一方面,我有這樣一個web服務工廠茉莉測試與規格:
it('Petición sin fechas', function() {
$httpBackend.expectGET('urlService').respond('dataResponse');
$webServices.getAvailableDates(1234);
$httpBackend.flush();
});
如果我執行噶,出現此錯誤:
Error: Unexpected request: GET strings/strings.json
Expected GET urlService
很明顯,這個問題是關於JS因爲initApp.js是在我的茉莉花測試之前執行的,但是在測試運行期間解決了響應。在測試的情況下,我該怎麼辦,禁用initFactoryString()調用automaticaly?
您應該模仿'$ http.get(網址+ '串/ strings.json')'reqyest或存根'ionic.Platform.ready'。像'initApp.js'這樣的文件根本不應該包含在這個測試中(也可能是Ionic)。 – estus