Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。3,481件51よそから利用されないようにprivateにしたフィールドAがあります。テストのためにそのフィールドにアクセスする必要が出てきました。そのためにjava.lang.reflectを用いてアクセスすることにしました。そのフィールドはテストしたい自作クラスBの中にあり、自作クラスC型の変数です。プログラムの仕様上自作クラスBをテストするためには事前に自作クラスCのインスタンスを作ってセットしておく必要があります。テストにはJUnit4を使っていて、setUp内で自作クラスCのインスタンスを作ってセットしています。テスト中にクラスBがクラスCのインスタンスがないと言ってきます。そこで、確認のために適当に作ったプログラムでprivateなフィールドへの値セットと取得等を試してみました。System.out.println("Nakamiをセットします。System.out.println("セットしたNakamiを取得します。System.out.println("もともと入れてあるNakamiを取得します。nakami="中身";}HasPrivate#arimasuはSetCallTestから取得できますが、HasPrivate#nakamiはNullPointerExceptionになります。SetCallTestからセットできていないんだろうと思いつつHasPrivateにnakami取得用のpublicなメソッドを用意して呼び出してみましたが、やはり同様です。出力ログNakamiをセットします。セットしたNakamiを取得します。取得したnakami:test.Nakami@6d06d69cHasPrivateからもらったnakami:test.Nakami@6d06d69cNakamiのnakami:中身もともと入れてあるNakamiを取得します。確認用コード間違えすぎてすみません。本物のコードの一部抜粋したものを以下に載せます。ダミーのjsonを渡してそれ通りにデータを取得等できるかをテストする。現状はとりあえず以下の3パターン。/*以下テスト用メソッドが続く。mPriceListDataLoaderのこれまたprivateなメソッドを呼び出す。そのメソッドは引数のjsonからデータを取得・加工したものをPriceListDataに入れる。そのPriceListDataをチェックして想定通りのデータが入っているかどうか確認したい。mPriceListDataがnullだと言われてしまう。*/}今本番の環境がないので本物のコードを試せないのですが、こういうことをやっていてうまくいかなくてJUnit4を使わずに試してみようと作ったのが確認用のプログラムです。HasPrivate();という行がありますが、このhasPrivateはそれぞれ別のオブジェクトになっています。setNakamiの呼び出しの終了とともに、せっかくプライベートなフィールドにnakamiをセットしたHasPrivateオブジェクトが破棄されています。privateField.get(hasPrivate);としてフィールドを読み取ってもnakami2はnullになります。setNakami、getNakami、getArimasuの各メソッドでそれぞれ別のHasPrivateオブジェクトを使っており、setNakamiを呼び出した意味がなくなってしまっているのが原因だと思われます。個の銅バッジプログラムをコピペで作っていたら間違えてました。本物風に書き換えます。15:39それはただまた私がコードを間違えてしまっていただけでした。HasPrivate();にすることで、提示していただいたコードは動作します。これはJUnit4を使うことなく、Javaをそのまま実行しても動作するコードですね。JUnitを利用する前提として、動作しているクラスやメソッドに対して、JUnit用のクラスを用意して実行するもので、そして実行結果を評価するものです。JUnit4に関しては簡単なサンプルコードとして以下のサイトがあります。http://nanasess.net/mt/2008/04/junit4.htmlJUnit4の使い方とできることを簡単にまとめているスライドです。http://www.slideshare.net/ichikaz3/junit4これらも参考にしてください。