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



我在想如何测试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文件有时,如果您正在测试的文件/模块非常复杂,则可以创建多个规范文件并将它们捆绑在一个文件夹中。

如果你正在使用Jasmine,我建议你选择像RequireJS(或webpack或Browserify)这样的技术,这将允许你在规范文件中需要尽可能多的模块/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/

最新更新