我有一个方法,它作为操作的一部分执行以下操作:
URL resourceUrl = new File(sampleString1.concat("/")
.concat(sampleString2)).toURI().toURL();
SampleString1 和 SampleString2 由类的构造函数填充,该类是一个抽象类。我使用下面的行来测试这个类:
servlet = PowerMockito.mock(MyServlet.class, Mockito.CALLS_REAL_METHODS);
通过这个,我无法设置属性 sampleString1 和 sampleString2 的值,因为我没有将它们传递给构造函数。现在,当我在 servlet 中调用我的测试方法时,由于 sampleString1 和 sampleString2 的值为空,我在上述行中得到 NullPointerExceptions。我尝试通过以下方式模拟该部分:
PowerMockito.whenNew(File.class).withParameterTypes(String.class).
withArguments(Matchers.anyString()).thenReturn(sampleFile);
但是当新文件调用完成并引发异常时,它仍然会通过字符串连接。我该如何测试这种方法?我只想在调用新文件操作时返回 resourceUrl 的示例值,并继续执行方法中的逻辑并测试输出。
谢谢。