如何自定义Jasmine的目录结构?

时间:2011-11-25 21:31:00

标签: javascript unit-testing jasmine

使用Jasmine Rubygem时,我觉得非常烦人,我必须遵守生成的目录结构,该结构在javascripts文件夹中有一个spec子文件夹。我觉得它没用,因为我完全用Javascript编写。

我发现我可以通过更改生成的publicjasmine.yml文件夹中更改此内容,但是,这不是我想要的,因为我仍然需要保留javascripts文件夹

有没有办法自定义这个文件夹结构?

1 个答案:

答案 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类的接口,这种方法将在未来中断。