我从TDD开始,使用promises时遇到测试函数问题,下面我将列出我的场景:
我的功能:
(function () {
'use strict';
angular.module('com.pentaxial.utils.modais', [])
.service('Modal', ['$ionicModal', '$q', function ($ionicModal, $q) {
var self = this;
self.criar = function ($scope, template) {
var deferred = $q.defer();
if(!template) deferred.reject(new Error("Template cannot be null"));
$ionicModal.fromTemplateUrl(template, {
scope: $scope,
animation: 'slide-in-up'
}).then(function (modal) {
deferred.resolve(modal)
}, function(err){
deferred.reject(err);
});
return deferred.promise;
}
self.destruir = function (modal) {
modal.hide();
modal.remove();
return undefined;
}
}])
})();
应该是对self.criar测试进行激励的呼吁?
我试试:
it('Retorno com template definido', function(){ Modais.criar(scope, 'view/modal/cropper.html').then(function(modal){ expect(modal).toBeDefined(); },function(err){ expect(err).toBeDefined(); }) })
但不行。