2012-04-21 14 views
1

JMockでクラスを模擬してメソッドをテストするコードを記述しようとしていますが、このメソッドは内部的に3つの異なるメソッドを呼びます(そのうちの1つはプライベートメソッドです)。私は3つの内部的な方法のすべてに期待を寄せました。それから私はテスト中のメソッドを呼び出します。テストケースでは、プライベートメソッドが呼び出されると予想され、呼び出されなかったというエラーが返されます。 2つの内部メソッド(デフォルトのアクセス指定子を持つ)がうまくいきましたが、プライベートメソッドは嘲笑されず、実際にコントロールが実際のプライベートメソッドの内側に届いて問題が発生しています。プライベートメソッドのアクセス指定子をデフォルトアクセスに変更すると、すべて正常に動作しますが、そのようにしたくありません。誰かがこの動作を説明し、この問題を解決する方法を教えてください。JMockがプライベートメソッドを模擬することができません

+0

これを行うプライベートメソッドは何ですか?それらを嘲笑したいということですか? –

+0

メソッドにビジネスロジックがありましたが、今ではJMockと動作するようにアクセス指定を変更しました – Gaurav

+0

ロジックを実行する際の害は何ですか?お互いに逃れるために2つ(またはそれ以上)のクラスを持っていること。 –

答えて

0

Jmockitも使用できます。このユースケースで使用できる優れたライブラリです。あなたが使用できるキーワード: "Deencapsulation"。

関連する問題