RSpec

Rspec Rails、なんか仕様が変わった?

rspecとrspec-railsを1.1.12から1.2.0にアップデートしたら、なんか、今まで通ってたexamplesが通らなくなったwww しかも、オイラが書いた訳じゃないものだしwww restful_authenticationなんだけど。 具体的には、 spec/controllers/users_controller_spec.r…

ビューのspecで、ウマい書き方がワカンネェー

Product(name: string, description: text, height: float, width: float, depth: float)というモデルがあったとして。 で、それを扱うProductsControllerがあったとして。 で、ビューのspecを書くとして。 rspec_scaffoldで生成されたspecは、こうなる訳だ…

ダメだ。mockとstubの違いが、

解らない... RSpec の Mock と Stub が最初分からなかったけど、理解できたら すごい! という気持ちになった - takihiroの日記 Ruby on Rails でのモックとスタブの作成 RSpecでモックとスタブ - ひげろぐ モックとスタブの違い わっはっは。 これだけ読ん…

rspecのジェネレータがムカツク。

つうか、ね?rspec_scaffoldと、rspec_controllerの生成するコントローラやらビューやらの中身が、あまりにも違いすぎるのがムカツク。 まあ、app/以下のファイルに関しては、railsのジェネレータに丸投げんだろうけど。 でも、spec/以下のファイルに関しては…

ちょっと気になったんで、実証コード書いてみた。

「ruby 1.8.6のeachの挙動が判らない...」のエントリーで書いていたことが、どうも、違うクサいんで、ちゃんと実証コード書いてみた。 内側のイテレーション(fuga)が回り終わった時点で、fugaのループ・カウンタ(ポインタ?)は、リセットされているのが、然る…

効率のイイspecの書き方が思いつかない...

例えば、こんなspec書いてみました。 describe "allow height is numelicaly" do ["1", "10000000", "0.1" ].each do |height| it "'#{height}'" do lambda do product = create_product(:height => height) product.errors.on(:height).should be_nil end.s…

テスト駆動開発っ!!

...ホントに?www つうか、RSpec使うんだったら、ビヘイビア駆動じゃないのか? -> オレwww とりあえず、Roleモデルは、要素も少なくって、しかも、リレーションの検証もあるから、始めてやるのにはうってつけかな、と。 で。 「ビヘイビア駆動」って、なによ?…

それじゃあ、specを書こうか。(2) ~ リレーションを考える

で。 RoleオブジェクトはUserオブジェクトと関連をもっている訳ですわ。 で、それをテストしないといけない訳ですわ。 なんで、書いてみる。 フィクスチャは、「[http://d.hatena.ne.jp/lov2much/20090225/1235524308:title=fugafugaにrole_requirementをセ…

自動...テスト...だと?...

何その便利機能www テストはとことん自動で楽しく...。 -ザリガニが見ていた...。 RSpec+ZenTestで快適Rails開発 - 税理士業界でSaaS開発を行うプログラマの記録 UK STUDIO - MacBookにRailsの自動テスト環境を構築した じゃあ、とりあえず。 ZenTestのイン…

fugafugaにrestful_authenticationをセットアップ。(5) ~ Userモデルの初期値の設定

※「APP_CONFIG~」は、config/config.ymlで定数として定義しています。とりあえず、定数は、config/config.yml作って、config/environment.rbで、restful_authentication_tutorialを参考に。 require File.join(File.dirname(__FILE__), 'boot') + #Load appl…

fugafugaにrestful_authenticationをセットアップ。(4) ~ spec/helpers/users_helper_spec.rbの修正

イヤ、これが結構、悩みましたわ。 # spec/helpers/users_helper_spec.rb (略) it "should use the login as link text with no :content_method specified" do - link_to_user(@user).should have_tag("a", 'user_name') + link_to_user(@user).should have…

fugafugaにrestful_authenticationをセットアップ。(3) ~ spec/controllers/*_spec.rbの修正

んじゃあ、コントローラのspecの修正。 結構、悩んだねぇwww # lib/authenticated_test_helper.rb (略) def authorize_as(user) - @request.env["HTTP_AUTHORIZATION"] = user ? ActionController::HttpAuthentication::Basic.encode_credentials(users(user…

fugafugaにrestful_authenticationをセットアップ。(2) ~ spec/models/user_spec.rbの修正

とりあえず、RSpecのセットアップ。 $ script/generate rspec んじゃあ、とりあえず、テスト。 $ rake spec:models (略) #=> 75 examples, 75 failures #=> rake aborted! (略)...そりゃそうだ。 認証をloginからemailに変更しているからねぇ。 修正、マンド…