我在Webstorm 8中运行测试时遇到问题,这是我的conf文件:
这是我的AngularJS控制器:
angular.module('monApp').controller('DashboardCtrl', [
'$scope', function ($scope) {
'use strict';
$scope.foo = 'bar';
}
]);
我的测试文件:
describe('Controller: DashboardCtrl', function () {
'use strict';
var DashboardCtrl,
scope;
beforeEach(module('monApp'));
beforeEach(inject(function ($controller, $rootScope) {
scope = $rootScope.$new();
DashboardCtrl = $controller('DashboardCtrl', {
$scope : scope
});
}));
it('dashboard should be defined', function () {
expect(scope.foo).toBeDefined();
expect(scope.foo).toBe('bar');
});
});
这些非常简单,我按照许多教程的步骤,首先安装了节点,然后用 npm install 安装karma,当我用 karma启动karma启动my.conf.js < / strong>测试通过,但它显示空测试套件。
我确切地说,在我的项目中,我只有5个文件:
在配置文件中,我添加了以下4个文件:
// list of files / patterns to load in the browser
files: [
'angular.js',
'angular-mocks.js',
'*.js'
],
当我尝试通过右键单击抛出测试时出现错误:描述未定义。
感谢。
答案 0 :(得分:1)
我尝试从头开始重新启动,看来我的app模块实例化不是很好,这样更好:
var app = angular.module('monApp', []);
app.controller('DashboardCtrl', ['$scope', function ($scope) { ....
第一个问题&#34;空测试套件&#34;是由于配置文件中的错误的basePath。无论如何,谢谢你的回答!
答案 1 :(得分:0)
你的my.conf.js必须包含:
frameworks: ['jasmine']
而Karma需要安装Jasmine框架的桥梁:
npm install karma-jasmine --save-dev
默认情况下,karma加载所有已安装的插件,这些插件以&#34; karma - &#34;开头。