ホームページ  >  記事  >  バックエンド開発  >  テーブル駆動テストで模擬呼び出しの期待をオーバーライドする方法

テーブル駆動テストで模擬呼び出しの期待をオーバーライドする方法

WBOY
WBOY転載
2024-02-10 21:42:09844ブラウズ

テーブル駆動テストで模擬呼び出しの期待をオーバーライドする方法

#php エディター Xiaoxin は本日、テーブル駆動テストでのシミュレーション呼び出しの期待をオーバーライドする方法を紹介します。テーブル駆動テストは、データ駆動型の方法でテストし、コードの保守性と拡張性を向上させる効果的なテスト テクノロジです。テストでは、多くの場合、テスト対象のコードが期待どおりに動作することを確認するために、期待値を模擬呼び出しする必要があります。この記事では、テーブル駆動テストを使用して目的の範囲の模擬呼び出しを達成し、開発者が単体テストをより適切に実施できるようにする方法を詳しく紹介します。

質問の内容

テーブル駆動テストを行う場合、mockery によって生成されたモックをいくつか使用し、各テスト ケースに応じてメソッド呼び出しの期待値を設定します。データセット。私が直面している問題は、モック呼び出しが常に、実行されたテスト ケースに対して定義された結果セットではなく、最初のテスト ケースで予期された結果セットを返すことです。

リーリー

このテストを実行すると、結果が予期された 2 ではなく 1 であるため、2 番目のケースは失敗します。問題は、モックされたメソッドが ## を返すことであることがわかります。 #2 (現在のテスト ケースに設定された値) ではなく、1 (最初のテスト ケースに設定された値)。

この問題を解決する方法はありますか?

回避策

これは最も洗練された解決策ではない可能性があり、これを行う他の方法があるかどうか疑問に思っていましたが、今のところ、この解決策を見つけました。これは、テーブル駆動テストによって実行されるサブテストごとに新しいモックを生成することで構成されます。そのため、各サブテストでは、前のサブテストからの期待をまったく設定しない完全に新しいモック インスタンスを使用します。

testify.suite を使用してテストを整理および処理することを考えると、これは各サブテストで s.setuptest() メソッドを手動で呼び出すのと同じくらい簡単です。 リーリー

以上がテーブル駆動テストで模擬呼び出しの期待をオーバーライドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。