[解決済み] RSpec: メソッドが呼び出されたかどうかをテストするには?
2022-07-20 08:40:28
質問
RSpecのテストを書いていると、テストの実行中にメソッドが呼び出されたことを確認するために、次のようなコードをたくさん書いていることに気づきます(議論のために、メソッドが実行する操作が効果を見るのが簡単ではないので、呼び出し後のオブジェクトの状態を実際に照会することができないとだけ言っておきましょう)。
describe "#foo"
it "should call 'bar' with appropriate arguments" do
called_bar = false
subject.stub(:bar).with("an argument I want") { called_bar = true }
subject.foo
expect(called_bar).to be_true
end
end
私が知りたいのは これより良い構文があるのでしょうか?上記のコードを数行に減らすことができるような、RSpecの素晴らしい機能を私は見逃しているのでしょうか?
should_receive
はこれを行う必要があるように思えますが、さらに読むと、それは正確に何をするものでもないようです。
どのように解決するのですか?
it "should call 'bar' with appropriate arguments" do
expect(subject).to receive(:bar).with("an argument I want")
subject.foo
end
関連
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] RSpecのlet()はいつ使うのか?
-
[解決済み】RSpecのテストを1つだけ実行するには?
-
[解決済み】RSpecで単一のテスト/仕様ファイルを実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み】bcrypt LoadError: Cannot load such file
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Railsでpng画像を文字列形式で表示するには?
-
[解決済み] gemのアップデート後、"Asset was not declared to be precompiled in production "でテストが失敗する。
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
-
[解決済み] Ruby on Rails の新規セットアップ : "Expected string default value for '--rc'; got false (boolean)".