Jasmine - 什么将源连接到spec文件?

时间:2017-03-16 02:30:13

标签: javascript ruby-on-rails rspec jasmine

刚刚开始使用Jasmine。我理解你把javascripts文件夹中的spec文件放在(如Rspec)中,命名约定为<file_name_to_be_tested>_spec.js

太棒了!

所以我有spec/javascripts/orders_new_spec.js

我发现我可以使用上面的方法测试以下文件:

app/assets/javascripts/orders/new.js
app/assets/javascripts/orders_new.js

但是像我这样的人确实有一个有点复杂的文件目录...我需要一种方法来区分这两个......现在当然jasmine.yml看起来像这样:

src_files:
  - assets/orders/new.js
  - assets/orders_new.js

但由于所有规格都有一个yml文件,因此它不能作为差异化因素。

有没有办法,在spec文件本身做呢?如,

# /spec/javascripts/orders/new_spec.js
require 'assets/orders/new.js` # and ignore jasmine.yml
describe...

# /spec/javascripts/orders_new_spec.js
require 'assets/orders_new.js` # and ignore jasmine.yml
describe...

1 个答案:

答案 0 :(得分:0)

正式答案是否定的。当然,有很多方法可以解决它。来自Jasmine Github mods:

Jasmine(特别是在浏览器中)没有任何关系,哪​​个spec文件测试哪个实现文件。如果您的文件子集无法与其他文件子集在同一页面中加载,那么您可能希望拥有多个jasmine.yml文件并使用JASMINE_CONFIG_PATH环境变量来选择正确的文件一个在运行测试时。这意味着您需要运行两个(或更多)jasmine:ci个任务来运行所有规范。

另一种选择是重构/重做你的实现,以便所有文件可以同时加载到浏览器中,并只是实例化你的规范中的底层对象。