ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

Railsのコンソール使ってみたけど、うーん… ほか

今回の前半は悩み事です。

Railsのコンソール使ってみたけど、うーん…

Railsってコンソールがあるんですね。いちいちサーバーたちあげるのも面倒だなと思っていたのですが。
ちなみにsじゃなくてcを渡すとirbが起動して、コントローラーやモデルのメソッドを呼び出すことができます。
これでビューがどうレンダリングされてるか確認できるかなって思ったのですが無理でした…最低でも変数くらいはと思ったんですが…多分見当違いだと思います。

Railsで最初から使えるテストの書き方を調べましょう

http://img01.militaryblog.jp/usr/no1shop/no0055.jpg
↑あらかじめいっておきますがこういうのは投げてこないでくださいおねがいします。
そういえば今まではRubyのテストをずっとRSpecで書いてきていたので、ActiveSupportのテストケースを使ったRailsで最初から使えるテストの書き方を知りませんでした。
今回はすでにASで書かれたテストが結構な数あるので、是が非でも覚えないとテストが書けません。つらたん。Railsの案件はずっと書き換えてサーバーたちあげてリロードとかやってたのではかどらないはかどらない…
テスト(test) - Railsドキュメント
幸い日本語で上のサイトにまとまっているようなので、覚えていくことにします。今の所わかっているのはユニットテストのところだけで、

  • ActiveSupport::TestCaseを継承したクラスの中にテストを書いていく。おおよそRSpecでいうところのdescribeに渡していたブロックにあたる
  • testメソッドに渡されたブロックがひとつのテスト。ブロック内のアサーションが全て成功するとグリーン。おおよそRSpecでいうところのcontextかitのどちらかっぽい気がする。渡す引数はテストの名前
  • アサーションはassert_hogehoge みたいな感じのメソッドに、期待する値と実際の値を渡すことで行う。形式は違うもののshouldに相当?

の3点。まだ見てないけどbeforeとかsubjectに相当するようなものもあるのでしょう。単純にRSpecと比較すると多方面から斧*1*2が飛んでくるらしいですがおおよそこんな感じだろうなと理解しました。
そこで振り返って「既視感あるなー」と思ったらC#のテストとPHPUnitでした*3。テストライブラリの記法はこちらのほうがデファクトなのかな*4

※後半2曲は初見です。

軽い気持ちで2級受けたらこうなったよ。
3曲めは同段位者平均のゲージを見て「これは回復曲だ」と確信したので安心してプレーできました。ゲージももりもり回復。
問題の4曲めは…
f:id:yuu_xxxx:20130527203335j:plain


そして

というわけで級位の(「・ω・)「ガオーことライオン好きをギリギリでかわし、早くも二級に合格してしまいました。

*1:なぜかRuby界隈ではときどき、モヒカンが斧の投げ合いをするときがあるらしい

*2:もうひとついうとPerlの界隈では椅子の投げ合いがあるらしいと小耳に挟んだけれど真相は定かではない

*3:もちろんC#PHPにブロックなんてないので特別なメソッドが割り当てられてますが

*4:xUnitとか言われてるそうな