配置karma以加载测试文件

时间:2016-02-17 19:15:38

标签: javascript jasmine karma-runner

我正在关注John Papa's Style Guide,并且遇到其他所有问题后我的所有Jasmine规范都会出现问题。问题是我的应用程序的目录结构是扁平的,因此spec文件包含在与他们正在测试的文件相同的目录中。

files: [
    'app/vendor/js/jquery.js',
    'app/vendor/js/angular.js',
    'app/vendor/js/*.js',
    'bower_components/angular-mocks/angular-mocks.js',
    'app/app.js',
    'app/app.constants.js',
    'app/app.config.js',
    'app/**/*.app.js',
    'app/**/*.js',
    'app/**/*.spec.js',
    'app/**/*.html'
]

另一个问题是,在Karma配置文件中,它包含了普通旧.spec.js文件中的所有.js个文件。所以上面数组中倒数第二个字符串是多余的,但是它可以说明我想要做什么。

如何在所有其他JavaScript文件之后加载我的spec文件?

编辑:按照JP的样式指南,您的文件应使用链接语法命名:the.directive.jsthe.directive.spec.js。因此,您可以通过在规范之前包含所有指令(.directive.js),控制器(.controller.js)等而不是使用通用.js来解决我的问题。但是,我想知道是否有人提出了更强大的解决方案。

1 个答案:

答案 0 :(得分:3)

尝试

files: [
     'app/**/!(*spec).js',
     'app/**/*spec.js',
     ...
]