問題タブ [rspec-mocks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rspec : メソッドに作成される変数をレコードとして宣言する
私はレールにかなり慣れていませんが、解決できない問題に直面しているようです。新しいレコードを作成し、後でそれを使用して新しいサービスをインスタンス化するバックグラウンド ジョブをテストしようとしています。
バックグラウンド ジョブをテストしているので、テスト前にこのサービスの 2 倍を作成する必要があるようですが、パラメーターの 1 つがジョブ内で作成され、ジョブ内で作成された別のレコードを参照として使用します。したがって、実行しようとするたびに、ID に関して常に 1 つの違いがあります。
サンプルコードは次のとおりです。
ご覧のとおり、VideoPerformanceReportService は、ジョブ内で作成された result_slot をパラメーターとして使用し、history_log (ジョブ内でも作成されます) を参照として使用しています。
どうすればこれをテストできますか?
(事前にご協力いただきました皆様、ありがとうございました)
ruby - メソッドを受け取るためにモック結果を期待する
クラスがインスタンス化され、特定のメソッドが呼び出されることを期待できるように、クラスをモックしようとしています。
私は試した:
しかし、私が得ているのは次のとおりです。
未定義のメソッド「show?」#RSpec::Mocks::VerifyingMessageExpectation:0x0055e9ffd0b530 の場合
ブロックを提供し、最初に元のメソッド (:new と :show? の両方、最初にバインドする必要がありました) を呼び出してみましたが、エラーは常に同じです。
については知ってexpect_any_instance_of
いますが、コードの匂いと見なされているため、適切に行う別の方法を見つけようとしています。
コンテキスト: 専門家のポリシーがあり、それが呼び出されたかどうかを確認したい
私も試しましたが、同じエラーが発生しました: