Contenu connexe
Similaire à Testing in Sinatra (20)
Testing in Sinatra
- 1. Sinatra とか Padrino とかで
テストをどうしているか?
- Padrino 黒ミサ in 神泉 -
2011/10/29 @ 神泉
Uchio Kondo (@udzura)
- 2. 近藤うちお(@udzura)
●
Rubyist(2年半ほど)
●
Groovyに挫折
●
現在Haskellを順調に挫折 柴犬のあくび
●
富士マガ所属(ご近所)、
雑誌を定期購読で買ってね!
●
カルマ: Rack, Sinatra, Padrinoあたり
Rails3, TDD, Linux, アジャイルとかも興味はあるんですよ……
- 3. 近藤うちおさんのworks
● ブロッグ http://blog.udzura.jp/
● Padrino 日本語サイト翻訳リーダー
● Padrino framework contributor
● 自称、 Padrino framework エバンジェリストJPです
● RubyGems: rack-session-dbm
● RubyGems: rspec-padrino
● 若干のふざけたウェッブサービス
● WP on passenger、RSpec on PHPの記事書いた人
● その他、 http://udzura.jp
- 4. 今日は
●
Enterprise Sinatra の話です
- 5. 今日は
●
アプリケーションのテストの話です
- 6. ところで、
●
「単体テスト/結合テストなんて存在しない」
● Toggeter
● http://togetter.com/li/206083
- 7. 今日の内容
●
今日する話
●
Sinatraでどういうテスト関連ライブラリを
使ってきたのか?
●
今日しない話
●
単体テスト/結合テストって何?
●
Sinatraに合ったテストプロセスとかって?
- 8. キ~ワ~ド
● Rack::Test
● Padrino framework
● RSpec
● Mocha
● Machinist/Faker
● Capybara
● Sinatra::TestHelpers
● RSpec::Padrino
- 9. Rack::Test
●
Sinatra のテストの基本
●
コントローラ/ルーティング
●
こういうテストができる
- 10. 要するに
●
get “/hogehoge” を叩く
●
RackのENVのモックが、 app.call を起動
●
callで返ってきたRackレスポンスをオブジェク
トに変換
●
#last_request, #last_response などで取得でき
る
●
あとは普通に値を検査する
- 11. ところで
●
Sinatra アップリケ~ションでテスト準備
●
test/ なり spec/ なりディレクトリを掘る
●
spec_helper.rb なりを準備
● RSpec.configure do |conf|
●
Rakefile なりを準備
●
Gemfile なりを準備
●
モデルなどを追加する度にテストファイルも作る
●
………
- 13. Padrinoのジェネレータを使う
●
プロジェクトジェネレータの段階で
テストライブラリ、モックライブラリを指定で
きる
●
コントローラ、モデルをジェネレートすれば
一緒にテストも作ってくれる
●
padrino rake test/spec コマンドを用意してくれ
る
- 16. Padrinoの対応状況(0.10.5)
● Testing libraries(-t)
● bacon, shoulda, cucumber, testspec, riot, rspec,
minitest
● default: Test::Unit
● Mocking libraries(-m)
● rr, mocha
- 19. blueprints.rb
● spec_helper.rb と同じディレクトリ
● 詳細ググろう
● そして、 User.make とかそんな感じ
- 21. Capyara
● In `spec/spec_helper.rb`
●
頭の方に
●
受け入れテスト_spec.rbに
●
#visit, #current_path, #page など Capybara DSL
- 25. RSpec::Padrino
●
rspec-rails の大変便利なマッチャー/ヘルパーを
Padrinoに合わせて移植しよう計画
●
拙作
●
バージョン 0.0.1
●
というか、 route_to とか assigns ぐらいしか
できていない
- 27. 感想
●
rspec-rails って多機能で便利なんですね
- 28. 頑張ります
● https://github.com/udzura/rspec-padrino
- 29. まとめ
●
Sinatra、便利アイテムが使えないかと思いきや
Railsで使えるものが意外と使える
●
Rails の肩に乗りまくる
●
ないものはない
●
ないものは、ない
●
作って「俺スゲー」するチャンス!!!1
●
正直 Padrino 便利、テストが必要になってきた
ら導入をご一考ください
- 31. 最新Padrino情報
●
スタートPadrinoの資料が見られます
● http://www.slideshare.net/udzura/startpadrino
●
Sinatra、そしてPadrinoのイマが分かる!
- 32. Padrino重要情報
●
Padrino 黒ミサ in 京都
● 2011/12/10
http://atnd.org/events/21442
- 34. Padrinoをよろしくね
●
若いソフトウェアなので、皆さんのフィード
バックがまだまだ必要です!
●
二郎に飽きたあなたもぜひ!
●
ハッカソンしたいですね(チラッ