rake test:javascriptsでファイルやブラウザを指定する

インターンの増田です。

Railsの"JavaScript Testプラグイン":http://dev.rubyonrails.com/svn/rails/plugins/javascript_test/ に付属しているrakeタスク(test:javascripts)は
テストするファイルやブラウザを指定することができません。

これではテストと実装を交互に繰り返しているときに関係ないテストまですべてのブラウザで実行されてしまってやっかいなので、rakeタスクを書き直してみました。

desc "Run tests for JavaScripts"
task 'test:javascripts' => :environment do
  JavaScriptTest::Runner.new do |t| 
    
    t.mount("/", RAILS_ROOT)
    t.mount("/test", RAILS_ROOT+'/test')
    t.mount('/test/javascript/assets', RAILS_ROOT+'/vendor/plugins/javascript_test/assets')

    Dir.glob(ENV['TEST'] || 'test/javascript/*_test.html').each do |js|
      t.run(File.basename(js,'.html').gsub(/_test/,''))
    end 

    if ENV['BROWSER']
      t.browser(ENV['BROWSER'].to_sym)
    else
      t.browser(:safari)
      t.browser(:firefox)
      t.browser(:ie)
      t.browser(:konqueror)
    end 
  end 
end     

これに置き換えると、以下のようにコンパクトにテストできます。


rake test:javascripts TEST=test/javascript/foo_test.html BROWSER=firefox

Bookmark and Share