2011-11-25 12 views
8

Jasmine Rubygemを使用している場合、specフォルダ内のjavascriptsサブフォルダを持つ生成されたディレクトリ構造に準拠しなければならないと非常に気になります。私は完全にJavascriptで書いているので、役に立たないと思う。Jasmineのディレクトリ構造はどのようにカスタマイズできますか?

jasmine.ymlを変更してpublicフォルダ内でこれを変更することができますが、これは私がまだjavascriptsというフォルダを持っていなければならないので、これが欲しいものではありません。

このフォルダ構造をカスタマイズする方法はありますか?

答えて

5

は、ここで私はジャスミンの宝石1.0.2.1でこれをやった方法は次のとおりです。

1)が正しいYMLファイルのパスを指すようにsimple_config_fileメソッドをオーバーライドするjasmine_config.rbファイルをカスタマイズします。このファイルは、最初は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 

私はjasmine_config.rbファイルの先頭は次のようになりますので、「試験」に私の「スペック」ディレクトリの名前を変更したい:

module Jasmine 
    class Config 
    def simple_config_file 
     File.join(project_root, 'test/javascripts/support/jasmine.yml') 
    end 
    end 
end 

2)設定ファイルをロードするために熊手を強制します。すぐに私のRakefileでジャスミンを必要とした後

require 'test/javascripts/support/jasmine_config.rb' 

:私は、行を追加することでこれをしませんでした。

3)jasmine.yml(サポートフォルダ内)を更新して、javascriptテストファイルの場所を指定します。私のymlファイルは次のようになります:

# EXAMPLE: 
# 
# spec_dir: spec/javascripts 
# 
spec_dir: test/javascripts 

もちろん、 "test"というパスを必要に応じて調整する必要があります。

このアプローチは、最新バージョンのgemで動作するはずですが、将来、Configクラスのインタフェースを変更するとこのアプローチは壊れてしまいます。

関連する問題