操作の一部として次のことを行うメソッドがあります。
URL resourceUrl = new File(sampleString1.concat("/")
.concat(sampleString2)).toURI().toURL();
SampleString1とSampleString2は、クラスのコンストラクターによって設定され、クラスは抽象クラスです。このクラスをテストするために、以下の行を使用しました。
servlet = PowerMockito.mock(MyServlet.class, Mockito.CALLS_REAL_METHODS);
これにより、属性sampleString1とsampleString2の値をコンストラクターに渡していないため、それらを設定できません。ここで、サーブレットでテストメソッドを呼び出すと、sampleString1とsampleString2の値がnullであるため、上記の行でNullPointerExceptionsが発生します。私は次の方法でその部分をシミュレートしようとしました:
PowerMockito.whenNew(File.class).withParameterTypes(String.class).
withArguments(Matchers.anyString()).thenReturn(sampleFile);
ただし、新しいファイルの呼び出しが行われ、例外がスローされると、文字列の連結が実行されます。この方法をテストするにはどうすればよいですか?新しいファイル操作が呼び出されたときにresourceUrlのサンプル値を返し、メソッドのロジックを続行して出力をテストしたいだけです。
ありがとう。