我能够测试 - $ scope.dvModel = DienstverlenerDetailService.query(); - 相应。 我无法弄清楚如何测试注释掉线。 当然你可以使用上的一些指导。
angular.module('dvb.controllers').controller('ServiceFacilitatorEditController', ['$scope', 'DienstverlenerDetailService', function(
$scope,
DienstverlenerDetailService) {
'use strict';
$scope.dvModel = DienstverlenerDetailService.query();
/*DienstverlenerDetailService.query().$promise.then(
function(response) {
$scope.dvModel = response.data;
},
function(error) {
}
);*/
}]);
describe('serviceFacilitatorEditController', function() {
'use strict';
beforeEach(module('dvb.ui'));
var scope, ctrl, fact, json, $rootScope, $compile, $controller, $injector;
beforeEach(function() {
inject(function(_$rootScope_, _$compile_, _$controller_, _$injector_) {
$rootScope = _$rootScope_;
$compile = _$compile_;
$controller = _$controller_;
$injector = _$injector_;
});
jasmine.getFixtures().fixturesPath = 'base/src/main/webapp/stubs/';
var f = readFixtures('servicefacilitator_0');
json = JSON.parse(f);
scope = $rootScope.$new();
var DienstverlenerDetailService = { query: function() {} };
spyOn(DienstverlenerDetailService, 'query').and.returnValue(json);
ctrl = $controller('ServiceFacilitatorEditController', {
$scope: scope,
DienstverlenerDetailService: DienstverlenerDetailService
});
});
it('it should....', function() {
expect(scope.dvModel.data).toBe(json.data);
});
});
在)一对夫妇的其他职位,其中使用$ Q,$ rootscope.apply(和/或其他东西来解决的承诺看,但我似乎无法把它粘起来。 我掌握的概念,但还是觉得奇怪的是,这1条单行能够完全测试,但其他符号心不是。
我问这个的主要原因是:1 - 我想明白了2 - 我不能只是把$ scope.vdModel的承诺,我需要什么数据属性包装内。