AngularJS与Jasmine、Karma和ng Mock的单元测试服务
Unit Testing Services in AngularJS with Jasmine, Karma and ng-Mock
我在单元测试中访问服务和过滤器时遇到问题(我还没有尝试指令)。我以前写过单元测试,但当我转到构建的配置时,我在访问我们的新服务以编写单元测试时遇到了问题。我不断地得到TypeError: null is not an object (evaluating 'currentSpec.$modules') in...
。我读了一些书,看起来可能与我使用的节点包有关。我想知道更大的社区是否可以确保这些配置看起来正确。我把下面的文件缩写了。
根据当前的配置,这是错误的。
package.json
"devDependencies": {
"angular": "1.5.7",
"angular-mocks": "1.5.7",
"jasmine": "2.4.1",
"jasmine-core": "2.4.1",
"karma-browserify": "5.1.0",
"karma-chrome-launcher": "1.0.1",
"karma-jasmine": "1.0.2",
"karma-nyan-reporter": "0.2.4",
"karma-phantomjs2-launcher": "0.5.0",
"phantomjs2": "2.2.0"
}
因果报应.conf.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['browserify', 'jasmine'],
files: [
'app/main.js',
'app/modules/**/*.spec.js',
'app/shared/**/**/*.spec.js'
],
preprocessors: {
'app/main.js': ['browserify'],
'app/modules/index.js': ['browserify'],
'app/shared/index.js': ['browserify'],
'app/modules/**/*.spec.js': ['browserify'],
'app/shared/**/**/*.spec.js': ['browserify']
},
})
}
服务.spec.js
describe('Unit: Services', function() {
require('angular-mocks/ngMock');
var APIHelper;
beforeEach(function() {
angular.mock.module('app.common.services');
});
beforeEach(inject(function(apiHelperService) {
APIHelper = apiHelperService; //injection is what's breaking
}));
it('should exist', function() {
expect(APIHelper).toBeDefined();
});
});
正在以正确的顺序加载服务和规范。此服务没有依赖项。我假设当我需要注入服务依赖项时,我会遇到同样的错误,但如果我能找到注入,我就可以根据需要注入正确的服务。
// This worked in a controller
angular.mock.inject(function GetDependencies(service) {
service = service;
});
提前感谢您花时间仔细研究并可能回答问题。
-W
我的应用程序声明中没有包含require('angular-mocks/ngMock')
。有时候,是一些小事。
相关文章:
- 我的单元测试选项是什么
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 使用量角器的当前url单元测试的getTitle
- AngularJS指令单元测试中未定义的函数
- 如何在ember单元测试中模拟_super()方法
- 单元测试依赖关系没有被嘲笑
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 在node.js中编写单元测试的最佳方式是什么
- Ng点击-如何进行行为单元测试
- Jasmine单元测试在监视服务方法时失败
- Angular 2和服务单元测试
- 在我的目录结构中,将单元测试助手源文件放在哪里
- 如何对CSS transitionEnd事件后执行的JavaScript进行单元测试
- 使用Node.js在应用程序引擎上进行本地单元测试
- 我应该如何衡量JS的单元测试覆盖率?我可以'我对jscoverage不满意
- 如何使用KARMA对React JSX ES6代码进行单元测试
- 如何在单元测试中将存储注入Ember.Service
- node.js单元测试mock依赖关系
- Typescript单元测试中的mock
- AngularJS与Jasmine、Karma和ng Mock的单元测试服务