有没有办法减少在jasmine单元测试中声明的引用数量

时间:2014-02-14 09:50:37

标签: angularjs unit-testing jasmine

我正在使用茉莉来测试我的角度代码。

在每个带有规格的文件的顶部,我有一堆参考文献。

例如,这些是我在其中一个测试中需要的参考:

/// <reference path="../../../../../Project/Scripts/angular.js" /> 
/// <reference path="../../../../../Project/Scripts/angular-route.js" />
/// <reference path="../../../../../Project/Scripts/angular-mocks.js" />
/// <reference path="../../../../../Project/Scripts/angular-animate.js" />
/// <reference path="../../../../../Project/Scripts/App/app.js" />
/// <reference path="../../../../../Project/Scripts/App/Common/Directives/ngProgress.js" />
/// <reference path="../../../../../Project/Scripts/App/Modules/Naviagation/navigationApp.js" />
/// <reference path="../../../../../Project/Scripts/App/Common/Directives/angularBootstrapNavTree.js" />
/// <reference path="../../../../../Project/Scripts/App/Common/Factories/commonFactory.js" />
/// <reference path="../../../../../Project/Scripts/App/Modules/Naviagation/NavigationBar/navigationFactory.js" />

是否有另一种方式来声明所有这些引用。例如,像:

/// <reference path="../../../../../Project/Scripts/* (this does not work)

谢谢!

3 个答案:

答案 0 :(得分:2)

Chutzpah确实允许你以几种不同的方式做到这一点。

一种方法是拥有一个文件夹的引用路径(省略*):

/// <reference path="../../../../../Project/Scripts" />

这将获得该文件夹中的所有文件(递归)。

如果您想要更多控制权,可以使用chutzpah.json文件中的引用设置

{
    "References": [
        { "Path": "../../../../../Project/Scripts", "Include": "*.js", "Exclude": "*Resource*" }
    ]
}

答案 1 :(得分:1)

Karma会更好用,你可以做scripts/**/*.js之类的东西来包含脚本下的每个js文件

或者您可以使用requirejs并将其列出如下:

require(["angular.js", "angular-route.js"]

或更像hackicsh的方法:

requireJS an entire folder

答案 2 :(得分:0)

我能够使用网络必需品来做这个技巧。它允许通过项目的不同位置选择我需要的所有javascript引用(文件),并将它们组合在一个包中。我需要在我的规范中仅引用这样的包:

/// <reference path="../../../../../Project/Scripts/navigationControllerReferencesBundle.js" />