使用控制器测试角度服务
Testing angular services with controllers
我有我的自定义角度服务,它有一个处理$scope.$watch
的方法,可以对它进行单元测试吗?
angular.module('moduleName', []).factory('$name', function () {
return {
bind: function ($scope, key) {
$scope.$watch(key, function (val) {
anotherMethod(key, val);
}, true);
},
...
};
});
我发现的解决方案似乎非常简单和好:
beforeEach(function () {
inject(function ($rootScope) {
scope = $rootScope.$new();
scope.$apply(function () {
scope.value = true;
});
$name.bind(scope, 'value');
scope.$apply(function () {
scope.value = false;
});
});
});
beforeEach(function () {
value = $name.get('value');
});
it('should have $scope value', function () {
expect(value).toBeFalsy();
});
相关文章:
- 如何在Ionic2测试版中包含Ionic.io服务
- Jasmine单元测试在监视服务方法时失败
- Angular 2和服务单元测试
- 在http服务单元测试中使用request-js时,chai.request不是一个函数
- 在 Jasmine 测试中无法访问 Angular 服务函数
- Angular-使用httpBackend测试http服务会引发意外异常
- 测试angular服务内部方法调用
- $cacheFactory removeAll() 在服务中的单元测试在 Angular 1.2.0 中失败,但在 1.
- 无法让茉莉花测试成功调用注入的服务
- 在测试之前,需要量角器等待服务返回
- 使用 Jasmine 2.4.* 测试返回承诺的服务
- 如何在 angularjs 茉莉花单元测试中正确引用服务
- Angularjs 和 Jasmine :使用同一服务的多个实例进行测试
- 无法将服务注入其 Angular 单元测试中
- 如何测试名为“示例”的 Angular 服务.Svc' 在我的模块中使用 mocha+chai
- 角度单元测试服务元素持久性
- AngularJS测试服务
- 如何测试方向的相等性服务请求对象
- angularjs服务测试的问题
- AngularJS, Jasmine服务测试注入失败