djUnit コンストラクタがprivateでテストが行えない
djUnit コンストラクタがprivateでテストが行えない
djUnitを使っております。
テスト対象のメソッドにアクセスしてテストを行いたいのですが、
どうもそれができません。
理由としては、コンストラクタがprivateになっているから?です。
(「コンストラクター TestManager() は不可視です」というエラーが出ます。)
コンストラクタのprivateを消せば、テスト対象のメソッドにアクセスできるのですが、
実際には消してテストをしてはだめということになっています。
コンストラクタがprivateでもdjUnitでテストが行える方法がございましたら、
書き方をご教授いただけないでしょうか?
どうかよろしくお願いいたします。
一応下記が詳細です。
(クラス名、コンストラクタ名、メソッド名)
------------------------
[クラス]
public final class TestManager
[コンストラクタ]
private TestManager() {
}
[テスト対象のメソッド]
public Structure testCreate(byte[], byte[], byte[])
-----------------------
色々試したのですが、途中で終了してしまって
目的のテスト対象のメソッドを実行するところまで辿りつけません・・・。
[お試しパターン1]
Class c = TestManager.class;
Constructor[] con = c.getDeclaredConstructors();
TestManager conIns = (TestManager)con[0].newInstance(); //ここで処理が終了してしまう
[お試しパターン2]
Class testClass = Class.forName("TestManager"); //ここで処理が終了してしまう
Constructor[] TestManager = testClass.getDeclaredConstructors();
TestManager[0].setAccessible(true);
Object conIns = TestManager[0].newInstance((Object[])null);
TestManager test = (TestManager)conIns;
補足
本当なのでしょうか?