使用Jasmine Rubygem时,我觉得非常烦人,我必须遵守生成的目录结构,该结构在javascripts
文件夹中有一个spec
子文件夹。我觉得它没用,因为我完全用Javascript编写。
我发现我可以通过更改生成的public
在jasmine.yml
文件夹中更改此内容,但是,这不是我想要的,因为我仍然需要保留javascripts
文件夹
有没有办法自定义这个文件夹结构?
答案 0 :(得分:5)
以下是我使用jasmine gem 1.0.2.1进行此操作的方法:
1)自定义jasmine_config.rb文件以覆盖simple_config_file方法以指向正确的yml文件路径。该文件最初是在spec / javascripts / support / jasmine_config.rb中生成的。正如github源代码(https://github.com/pivotal/jasmine-gem/blob/v1.0.2.1/lib/jasmine/config.rb)所示,该方法使用硬编码:
def simple_config_file
File.join(project_root, 'spec/javascripts/support/jasmine.yml')
end
我想将'spec'目录重命名为'test',因此我的jasmine_config.rb文件的顶部如下所示:
module Jasmine
class Config
def simple_config_file
File.join(project_root, 'test/javascripts/support/jasmine.yml')
end
end
end
2)强制rake加载配置文件。我通过添加以下行来完成此操作:
require 'test/javascripts/support/jasmine_config.rb'
在我的Rakefile中需要茉莉花之后立即。
3)更新jasmine.yml(也在支持文件夹中)以指示您的javascript测试文件所在的位置。我的yml文件现在以此结尾:
# EXAMPLE:
#
# spec_dir: spec/javascripts
#
spec_dir: test/javascripts
当然,您需要将“测试”路径调整为您想要的。
我认为这种方法应该适用于最新版本的gem,但如果这些方法改变了Config类的接口,这种方法将在未来中断。