0
モックとスタブでテストしていますが、出力にnilが残っています。私は、それがassignsメソッドの問題であるかどうかはわかりません。私はこの種の問題をどのようにデバッグすべきかも知っていますか? rspec-railsを使用しています。3.5.2ありがとうございます。メソッドを割り当ててRSpecでnilを返す
失敗試験:
describe 'guest user' do
describe 'GET index' do
let(:achievement) { instance_double(Achievement) }
before do
allow(Achievement).to receive(:get_public_achievements) { [achievement] }
end
it 'assigns public achievements to template' do
get :index
expect(assigns(achievement)).to eq([achievement])
end
end
end
def index
@achievements = Achievement.get_public_achievements
end
get_public_achievements達成モデルにおけるコントローラのインデックスアクション
def self.get_public_achievements
// empty method it's fine
end
エラー:
1) AchievementsController guest user GET index assigns public achievements to template
Failure/Error: expect(assigns(achievement)).to eq([achievement])
expected: [#<InstanceDouble(Achievement) (anonymous)>]
got: nil
(compared using ==)
この問題を解決していただきありがとうございます。しかし、私は複数形や単数形をいつ使うべきかまだ分かりません。大会はありますか? –
@JeffreyYong:確かに、慣習があります。あなたは小切手の割り当てを知っていますか?これは、コントローラで設定した変数について何かをアサートします。したがって、コントローラで設定した名前を使用してください。 –
素朴な質問を申し訳ありません。私はレールプログラミングにはとても新しいです。 –