在1个Spec.js文件中测试2个或更多JavaScript文件?

时间:2016-03-30 07:46:23

标签: javascript jasmine karma-runner karma-jasmine

我在考虑如何测试2个或更多不同的javaScript文件,例如我有5个javascript文件,我该如何测试这3个脚本?我是否需要在1 spec.js文件中测试它们,如下所示:

javascript1.js

javascript2.js(这些3对1规格文件)

javascript3.js

或者我可以按照1:1的比例对它们进行测试:

javascript1.js to spec1.js;

javascript2.js到spec2.js;

javascript3.js to spec3.js;

1 个答案:

答案 0 :(得分:0)

您应该为正在测试的每个文件创建一个Spec文件。有时,如果您正在测试的文件/模块非常复杂,那么创建多个spec文件并捆绑它们可能是个主意。在文件夹中。

如果您使用的是Jasmine,我建议您选择一种技术,例如Require JS(或webpack或Browserify),它可以让您在spec文件中需要尽可能多的模块/ javascript文件,并允许您使用保持测试范围有限。

但是,如果您使用标准命名空间JavaScript上的karma进行茉莉花测试的更传统方法,那么您只需将Karma配置为在运行测试之前加载JavaScript文件 - 这样所有文件都会可在测试范围内进行测试。

例如,在karma.conf.js文件中:

files: [
        {
            pattern: 'src/js/app/libs/**/*.js',
            included: true
        },
        {
            pattern: 'src/js/app/modules/**/*.js',
            included: true
        },
        {
            pattern: 'tests/jasmine/*/*Spec.js',
            included: true
        },
        // below line may not be needed outside of RequireJS scope
        'tests/jasmine/config/karma-call.js' // where I loop for spec files
    ]

额外阅读:http://requirejs.org/