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

Testing 2 or more JavaScript files in 1 Spec.js file?

我在考虑如何测试 2 个或更多不同的 javaScript 文件,例如我有 5 个 javascript 文件,我如何测试这 3 个脚本?我是否需要在 1 个 spec.js 文件中像这样对它们进行全部测试:

javascript1.js

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

javascript3.js

或者我可以像这样按 1:1 比率测试它们吗:

javascript1.js 到 spec1.js;

javascript2.js 到 spec2.js;

javascript3.js 到 spec3.js;

您应该为您正在测试的每个文件创建一个 Spec 文件。 有时,如果您正在测试的 file/module 非常复杂,这可能是一个想法创建多个规范文件并将它们捆绑在一个文件夹中。

如果您使用的是 Jasmine,我建议您选择 Require JS(或 webpack 或 Browserify)之类的技术,它可以让您在规范文件中需要尽可能多的 modules/javascript 文件,并且将允许您限制测试范围。

但是,如果您采用更传统的方法在标准命名空间 JavaScript 上使用 karma 进行 jasmine 测试,那么您只需要配置 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/