作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
运行 angularjs + Jasmine + Karma 测试时,出现以下错误:
我的测试脚本是:
describe('PhoneCat controllers', function() {
describe('PhoneListCtrl', function(){
it('should create "phones" model with 3 phones', inject(function($controller) {
var scope = {},
ctrl = $controller('PhoneListCtrl', { $scope: scope });
expect(scope.phones.length).toBe(3);
}));
});
});
// list of files / patterns to load in the browser
files: [
'js/bower_components/angular/angular.js',
'js/bower_components/angular/ngular-mocks.js',
'js/app/controllers.js',
'test/unit/*.js'
],
最佳答案
单元测试中缺少模块初始化部分。您应该调用 module('phonecatApp')
在您第一次调用 inject()
之前.在这种情况下,您的单元测试代码应如下所示:
describe('PhoneCat controllers', function() {
describe('PhoneListCtrl', function(){
beforeEach(function() {
module('phonecatApp'); // <= initialize module that should be tested
});
it('should create "phones" model with 3 phones', inject(function($controller) {
var scope = {},
ctrl = $controller('PhoneListCtrl', { $scope: scope });
expect(scope.phones.length).toBe(3);
}));
});
});
phonecatApp
是您定义
PhoneListCtrl
的模块的名称 Controller 。
关于angularjs - jasmine angularjs 测试-参数 'PhoneListCtrl' 不是函数,未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045706/
运行 angularjs + Jasmine + Karma 测试时,出现以下错误: 我的测试脚本是: describe('PhoneCat controllers', function() {
我是一名优秀的程序员,十分优秀!