当使用 Jasmine Rubygem 时,我发现非常烦人的是我必须符合生成的目录结构,该目录结构在 spec
文件夹中有一个 javascripts
子文件夹。我发现它没用,因为我完全用 Javascript 编写。
我发现我可以通过更改生成的 jasmine.yml
在 public
文件夹中更改它,但是,这不是我想要的,因为我仍然必须保留javascripts
文件夹给我。
有什么方法可以自定义这个文件夹结构吗?
最佳答案
这是我用 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 中需要 jasmine 后立即。
3) 更新 jasmine.yml(也在支持文件夹中)以指示您的 javascript 测试文件所在的位置。我的 yml 文件现在以此结尾:
# EXAMPLE:
#
# spec_dir: spec/javascripts
#
spec_dir: test/javascripts
当然,您需要将“测试”路径调整为您想要的。
我认为这种方法应该适用于最新版本的 gem,但如果他们更改该 Config 类的接口(interface),这种方法将来会失效。
关于javascript - 如何自定义 Jasmine 的目录结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274396/