2

私はrspecでこのテストを実行しています...

it 'get email is successful' do
  get :email
  response.should be_success
  response.should render_template('email')

終わり

コントローラコードは次のようになります。

def email
  respond_to do |format|
     format.js 
  end
end

私の端末で私は戻ってきます...

3) PostsController checking to see if response for post email is successful
 Failure/Error: response.should be_success
   expected success? to return true, got false
 # ./spec/controllers/posts_controller_spec.rb:116:in `block (3 levels) in <top    
(required)>'

テストを機能させるためにここで何が欠けていますか?それは明白な何かでなければなりません。私のビューファイルのタイトルはemail.js.erbです。このアクションは、AJAX呼び出しを対象としています。

4

2 に答える 2

3

コントローラはJSリクエストに対してのみ何でも返すように構成されており、テストでHTMLレスポンスをリクエストしています。あなたが持っている必要があります

get :email.js

あなたのスペックで。

于 2012-11-19T21:04:25.520 に答える
3

試す:

xhr :get, :email

リクエストでは、予想される応答タイプが考慮されていないようです。Rspecでは、これはAJAX(XHR)リクエストをシミュレートする場合に行う方法です。

于 2012-11-19T21:15:39.890 に答える