1. ホーム
  2. java

JUnit テスト プライベート変数?[重複)。

2023-11-12 12:11:24

質問

私はJUnitで直接作業したことのないクラスをユニットテストする仕事を割り当てられ、パッケージ内のコードを変更することは固く禁じられています。 私たちのユニットテストのほとんどは、単にルーチンを実行してその戻り値をチェックすることによって行うことができる機能性と入出力の一貫性のためなので、これは通常問題ではありません。

しかしながら、時折、クラス内のプライベート変数をチェックする必要性、または、いくつかの内部動作をチェックするためにプライベート変数を直接編集する必要性があります。 JUnit または他の方法であれ、オリジナルのソース パッケージのコードを実際に変更することなく、ユニット テストの目的でこれらにアクセスする方法はありますか? また、そうでない場合、ユニットテスターがコーダーと同じ人ではない可能性がある現実の世界で、プログラマーはこの問題をどのように扱うのでしょうか?

どのように解決するのか?

プライベート変数にアクセスするためにリフレクションを使用することができます。しかし、良いアイデアではありません。

これを見てください。

http://en.wikibooks.org/wiki/Java_Programming/Reflection/Accessing_Private_Features_with_Reflection