rails new jstest
cd jstest
# file Gemfile
gem 'jasmine'
gem "jasminerice"
gem "guard-jasmine"
gem 'guard-coffeescript'
gem 'rb-inotify' , '~> 0.9'
Khởi tạo các thư mục cần thiết cho Jasmine
Thiết lập cấu hình cho jasmine
# file {RAILS_ROOT}/spec/javascripts/support/jasmine.yml
src_dir : public /javascripts /compiled
src_files :
- '**/*.js'
spec_dir : spec /javascripts /compiled
spec_files :
- '**/*_spec.js'
Download Phantomjs
Khởi tạo Guard với Jasmine và Coffeescript
Tạo file spec/javascript/spec.js với nội dung sau
//= require application
//= require_tree .
Tạo file spec/javascripts/spec.css với nội dung
/*
*= require application
*/
Viết test đầu tiên (Kết quả test là "Failed")
# {RAILS_ROOT}/spec/javascripts/calculator_spec.coffee
describe ' Calculator' , ->
it ' can add two positive numbers' , ->
calculator = new Calculator ()
result = calculator .add 2 , 3
expect (result).toBe 5
Viết code để đoạn test trên Pass
# {RAILS_ROOT}/app/assets/javascripts/calculator.coffee
window . Calculator = class Calculator
add : ( a , b ) ->
a + b