2014-06-10 31 views
1

我必须在Webstorm 8运行我的测试中出现问题,这是我的conf文件:空测试套件 - 运行与WebStorm噶/茉莉测试8

这里是我的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安装,当我运行业力业力启动my.conf.js测试通过,但它显示空测试套件。

我精确,在我的项目,我只是有5个文件:

  • angular.js
  • 角mocks.js
  • 控制器
  • 测试文件
  • 的conf文件

在配置文件中,我添加了这4个文件:

// list of files/patterns to load in the browser 
files: [ 
    'angular.js', 
    'angular-mocks.js', 
    '*.js' 
], 

当我试着投用测试右键单击我得到一个错误说服力:描述没有定义

谢谢。

+0

这很可能是angular-mocks.js丢失,检查路径以及它是否在浏览器中加载 – maurycy

+0

我首先遇到了displayd Warning的问题,所以我改变了配置文件中的basePath,并且所有的文件看起来都像现在加载。 – matt2mi

回答

1

我想从头开始重新启动,看来,我的我的应用程序模块的实例是不是很好,这是更好的:

var app = angular.module('monApp', []); 
app.controller('DashboardCtrl', ['$scope', function ($scope) { .... 

而且错误的基本路径的第一个问题“空测试套件”是由于在配置文件中。无论如何,感谢您的答案!

0

你my.conf.js必须包含:

frameworks: ['jasmine'] 

而且噶需要桥茉莉花框架进行安装:

npm install karma-jasmine --save-dev 

默认情况下,业力加载所有已安装的插件作为起始与“业力 - ”。

+0

这正是我所做的安装它。我的conf文件也包含这一行。在node_modules目录中,我有业力,业力 - 铬 - 发射器和业 - 茉莉花,你认为缺少一些东西? – matt2mi

+0

你使用本地或全球业力安装来运行测试?你可以尝试使用相同的命令(节点路径/到/ karma/karma开始/路径/配置/ karma.conf.js)在终端运行业力 - 它是否工作? – lena

+0

对。你在全球安装了业力和插件(-g选项)?也许你运行2个不同的karma实例:全局通过控制台(带有karma-jasmine插件)和通过Webstorm(在你的项目目录中)的本地通道。检查Websotrm使用良好的实例(运行配置)。 – ncuillery