javascript - 为服务编写单元测试:AngularJS
问题描述
jasmine
对于使用框架和测试运行程序为服务编写适当的单元测试,我几乎没有问题karma
。
这是我在example-service.js中实现的:
export default class ExampleService {
constructor($resource, $http) {
'ngInject';
this.$resource = $resource;
this.$http = $http;
}
exampleMethodOne() {
//some code lines
}
exampleMethodTwo() {
//some code lines
}
}
ExampleService.selector = 'myExampleService';
这是我在测试example-service.test.js中写的
let myExampleService, $httpBackend;
beforeEach(() => {
angular
.module('exampleApp', [])
.service(ExampleService.selector, ExampleService);
angular.mock.module('exampleApp');
});
beforeEach(inject((_myExampleService_, _$httpBackend_) => {
myExampleService = _myExampleService_;
$httpBackend = _$httpBackend_;
}));
我已经导入了angular-mocks.js
和example-service.js
当我尝试这种情况时,控制台会抛出Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- myExampleService
错误。
请帮我解决这个问题。
解决方案
$resource
需要加载 angular-resource.js 和相应的模块:
beforeEach(() => {
angular
.module('exampleApp', ['ngResource'])
.service(ExampleService.selector, ExampleService);
angular.mock.module('exampleApp');
});
推荐阅读
- r - 删除了包含非有限值的 N 行 (stat_pie)
- android - 如何在底部应用栏中关闭工厂?
- php - 在 memcached 重新启动后,Libmemached 滞后未从服务器获取缓存值
- c# - CheckBox 根据选定对象的值创建一个字符串
- pandas - 如何对具有多个索引的 pnadas 数据框进行计算?
- python - Python:如何将字符串与列表分开
- python - 在 Flask 应用程序中通过 jquery (getjson) 在字典中发送 Plotly 图表
- ios - 未找到 -lRNAppleAuthentication react-native iOS 的库
- node.js - Node js获取请求IP不返回任何内容
- javascript - 如何使用来自 saperate div 的 jsPDF 制作合并的 pdf 文件?