TypeError: 无法阅读该物业 'then' 不确定的测试 angularjs-grunt
我使用该服务 $q 执行异步调用。 我无法解决 'then' 和 'defer' 在模块化测试中使用 karma.
以下是我的控制器代码。
测试规范:
我遇到了一个错误 "TypeError: 无法阅读该物业 'then' undefined".
如何使用Karma为这两种方法编写模块化测试?
更新:
1.how 我们可以检查成功和错误吗? scope.getFilterData//
2 功能 .then 在功能中 scope.bindFilters//.
请帮忙..
以下是我的控制器代码。
scope.filterUrls = [{url:'page1'}, {url: 'page2'}, {url:'page-error'}];
scope.bindFilters = function // {
angular.forEach/scope.filterUrls, function /data/ {
scope.getFilterData/data.url, ''/.then/function /result/ {
if /data.url === 'page1'/ {
scope.moduleData.index = result.data;
} else if /data.url === 'page2'/ {
scope.moduleData.page2 = result.data;
}
}/;
}/;
}
scope.getFilterData = function /filterUrls, params/ {
// $q service object
var deferred = q.defer//;
// regular ajax request
http/{
method: 'GET',
url: app.api.root + filterUrls,
params: params
}/
.success/function /result/ {
// promise resolve
deferred.resolve/result/;
}/
.error/function /result/ {
// called asynchronously if an error occurs
// or server returns response with an error status.
deferred.reject/'Erreur request : ' + result/;
}/;
return deferred.promise;
};
测试规范:
it/'should call getFilterData// in bindFilters//', function // {
spyOn/scope, 'getFilterData'/;
scope.bindFilters//;
expect/scope.getFilterData/.toHaveBeenCalled//;
}/;
我遇到了一个错误 "TypeError: 无法阅读该物业 'then' undefined".
如何使用Karma为这两种方法编写模块化测试?
更新:
1.how 我们可以检查成功和错误吗? scope.getFilterData//
2 功能 .then 在功能中 scope.bindFilters//.
请帮忙..
没有找到相关结果
已邀请:
1 个回复
詹大官人
赞同来自:
只要
发现,
谎言
或不
, 尝试返回假承诺,假函数:
从 jasmine 1.3 我们可以使用
:
从 jasmine 2.0 我们可以使用
而不是这个。
另一个决定是使用
和
:
从 jasmine 2.0 我们可以使用
而不是这个。