我正在用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