Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby on Rails | konachaによるCoffeeScriptのテスト

概要

konachaによるCoffeeScriptのテスト

詳細

konachaによってCoffeeScriptRSpecライクな記法でテストします。

設定

・Gemfilenに下記を追加

gem "konacha", "~> 3.0.0"

・Bundlerの実行

bundle

・spec/javascriptsディレクトリを作成
・config/initializers/konacha.rbを作成。今回はドライバをpoltergeistにします。

Konacha.configure do |config|
  require 'capybara/poltergeist'
  config.driver = :poltergeist
end if defined?(Konacha)

テスト実行コマンド1

bundle exec rake konacha:serve

ブラウザからhttp://localhost:3500/にアクセスするとテスト実行。
ブラウザをリロードするたびに再実行。

テスト対象をURLに指定すれば、個別のテストを実行。
例えば
http://localhost:3500/hoge_spec

テスト実行コマンド2

bundle exec rake konacha:run

自動的にブラウザが起動+テスト実行+停止になる。

RSpec同様に方法で個別実行が可能

bundle exec rake konacha:run SPEC=hoge_spec

サンプル

app/assets/javascripts/hoge.js.coffee
class @Hoge
  @hige: (value) ->
    document.write value
    "hoge:#{value}"
spec/javascripts/hoge_spec.js.coffee
#= require hoge
describe "Hoge#hoge", ->
  it "hoge return'hoge:hige'", ->
    # hoge = new Hoge()
    Hoge.hige("hige").should.eql("hoge:hige")

CUI出力

rake konacha:run SPEC=hoge_spec
.

Finished in 0.00 seconds
1 examples, 0 failed, 0 pending

GUI出力