刚刚开始使用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...
答案 0 :(得分:0)
正式答案是否定的。当然,有很多方法可以解决它。来自Jasmine Github mods:
Jasmine(特别是在浏览器中)没有任何关系,哪个spec文件测试哪个实现文件。如果您的文件子集无法与其他文件子集在同一页面中加载,那么您可能希望拥有多个jasmine.yml
文件并使用JASMINE_CONFIG_PATH
环境变量来选择正确的文件一个在运行测试时。这意味着您需要运行两个(或更多)jasmine:ci
个任务来运行所有规范。
另一种选择是重构/重做你的实现,以便所有文件可以同时加载到浏览器中,并只是实例化你的规范中的底层对象。