2016-03-30 21 views
0

我在想如何测试2个或更多不同的javaScript文件,例如我有5个javascript文件,我该如何测试这3个脚本?我需要测试所有这些,在1个spec.js文件是这样的:在1个Spec.js文件中测试2个或更多JavaScript文件?

javascript1.js

javascript2.js(这3个到1规格文件)

javascript3.js

或我可以让他们测试1:1的比例,如下所示:

javascript1.js to spec1.js;

javascript2.js to spec2.js;

javascript3.js to spec3.js;

+0

你都可以做 – Zamboney

+0

哦,我想尝试第二个方案(由1测试他们1 ),我怎样才能一一称呼他们?我使用Karma-Jasmine,一旦我输入“karma start”,它会执行所有以前的测试,但不是我想要的测试文件 – Brexter

回答

0

您应该为您正在测试的每个文件创建一个Spec文件。有时,如果您正在测试的文件/模块非常复杂,创建多个spec文件并将其捆绑到一个文件夹内可能是一个想法。

如果您使用的是Jasmine,我会建议您选择一种技术,例如Require JS(或webpack或Browserify),这将允许您在规范文件中需要尽可能多的模块/ JavaScript文件,并允许您保持测试的范围有限。但是,如果您使用标准名称空间JavaScript中的业力进行茉莉花测试的传统方法,那么您只需配置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/

+0

这真棒!我会去看看requirejs如何帮助茉莉花测试更轻松地工作。谢啦! – Brexter

+0

是的,我喜欢需要模块 - 它使代码更容易管理,更容易测试!别担心。 – Shakespeare