0
require 'spec_helper'

describe MachineGamesController do
  describe 'GET search' do
    it 'blah blah' do`
      get :search, name: 'some_machine_games'
      expect(response).to be_redirected_to(machine_game_path('some_machine_games'))
    end
  end

上記は、コントローラーのテストに使用する rspec です。また、/spec/controllers/ ディレクトリにも配置されます。私は

NoMethodError:
       undefined method `redirected_to?' for #<ActionController::TestResponse:0x007fce065ba640>

誰でも理由を知っていますか?

4

2 に答える 2

3

マッチャーbe_redirected_toが Rspecに存在しないためだと思います。これを試してください:

response.should redirect_to(machine_game_path('some_machine_games'))
于 2013-02-28T18:41:30.253 に答える
1

redirected_to は rspec マッチャーではありません。次のように書き直す必要があります。

describe MachineGamesController do
  describe 'GET search' do
    it 'blah blah' do
     get(:search, name: 'some_machine_games').should redirect_to(machine_game_path('some_machine_games'))
    end
  end
end

終わり

于 2013-02-28T18:42:49.087 に答える