rails:3958
From: dezawa <dezawa@a...>
Date: Sun, 29 Dec 2013 10:28:18 +0900
Subject: [rails:3958] Re: Rails4 deviseの test:integration がうまく行かない
ありがとうございます。 お恥ずかしい事に今回もポストした途端に気がつきました。 が、 じつはそれでもおかしな現象があって {"user" => ..} でも ダメか? と、解決までにはだいぶ掛かってしまいました。 おかしな現象とは、 log では 認証に成功して/app にいったかのごとく記録されて いるのですが、テストでは失敗していました。 よもや、と pp flash して確かめてみると、flash[:alert] と flash[:notice] の両方が設定されていました。 flashって都度クリアされなかったっけ、、、としばらく悩んだのですが 結局 flash[:alert] の検査はせずに assert_redirected_to "/app","メインへ飛ぶ" assert_equal "Signed in successfully.",flash[:notice] でごまかしました。 === 作った当時はRSpecとかCapybaraとか(気が付か?)なかったので testで進めてましたが、浮気してみるか、とそれらの勉強を 始めました。 modelあたりの記述ではRSpecの記述量が多いので、CXOBOLか!と ちと面倒だな、とおもっていたのですが、integartionでは良いかなと 思い始めています。 test:integrationではviewでのidやnameの設定違いに気がつきにくいですが Capibaraだともろにでてきますね。(RSpecではないか) ただまだ書けていません。 ・click_link の locator に Textが使えるとあるのですが、 urlそのままでは駄目な様で、idを設定しまくる必要がある? ・selectがマニュアルや例を真似て書いてエラーになる。 select('神奈川',:form => 'prefec') とすると、 ArgumentError: invalid keys :form, should be one of :text, :visible, :between, :count, :maximum, :minimum, :exact, :match, :wait selectはtest:integration でCapibara使ってるのが問題かな、とRSpecへの 浮気を始めた次第です。 出沢 (2013年12月28日 18:40), 橋立友宏 wrote: > 橋立です。 > > もう解決されているかも知れませんが、sessions_controllerに送っているパラ > メーターがおかしい気がします。 > deviseでログインする場合、通常パラメーターは{"user" => {"username" => > "aaron", "password" => "aaronpass"}}という形になるはずです。 > (ログインに利用するのがUserクラスである場合) > > パラメーターの形式を変更して試してみてはいかがでしょうか? -- ML: rails@r... 使い方: http://QuickML.com/
3955 2013-12-26 11:18 [dezawa@a... ] Rails4 deviseの test:integration がうまく行かない @ 3956 2013-12-28 10:40 ┗[kakyoin.hierophant+i] -> 3958 2013-12-29 02:28 ┗[dezawa@a... ]