RailsでJSのテストフレームワークを動かすにはどうしたらいいのか。
いろいろあるみたいだけど、Konachaをインストールしてみた。
https://github.com/jfirebaugh/konacha
gemに追加すればいいだけ。
Gemfile
gem 'konacha'
これでbundle install
すればインストールは完了する。
起動
標準ではブラウザを立ち上げてテストを実行する。
rakeタスクで起動。
$ bundle exec rake konacha:serve
ついでに、capybara-webkitやpoltergeistを導入すればheadlessテストも出来る。
試しに使う
テスト用のファイルは'spec/javascripts'ディレクトリを作成し、その中にテストファイルを置いておけばいい。
ファイルのルールはファイル名_spec.js
とかファイル名_test.js
であればOK。
ここではapplication_spec.js
として以下のようなテストを実行する。
application_spec.js
//= require application
describe('Array', function(){
describe('#indexOf()', function(){
it('should return -1 when the value is not present', function(){
[1,2,3].indexOf(5).should.equal(-1);
[1,2,3].indexOf(0).should.equal(-1);
});
});
});
きっと動くだろう。
補足
Konachaの中身は、MockaとChaiなんだそうだ。
困ったときは両方のドキュメントに目を通すといい。