PowerMock を使用してプライベート メソッドをモックするための代替ソリューション
PowerMock を使用した最初に提案されたソリューションでは困難が発生しましたが、別のアプローチが成功したことが証明されています。 Mockito と PowerMock を組み合わせて使用すると、プライベート メソッドを効果的にモックできます。
提供されたコード スニペットに示されているように、クラス CodeWithPrivateMethod は、プライベート メソッド doTheGamble を呼び出すパブリック メソッド MeaningPublicApi を所有します。 doTheGamble の動作を模擬するために、テスト クラス CodeWithPrivateMethodTest は PowerMock を使用して元のクラスのインスタンスを監視し、Mockito を使用して必要な戻り値を指定します。
この特定のシナリオでは、プライベート メソッド doTheGamble が呼び出されるとき、文字列および整数の引数を指定した場合は、true を返すように指示されます。これにより、パブリック メソッド MeaningPublicApi が RuntimeException をトリガーします。
完全なテスト構成は、PowerMock の @PrepareForTest アノテーションによって実行され、テスト対象のクラスがスパイの準備が整っていることが保証されます。テストは PowerMockRunner を使用して実行され、静的メソッドとプライベート メソッドのモックが容易になります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3