我的测试代码中有以下几行
RandomAccessFile mockRAF = mock(RandomAccessFile.class);
when(mockRAF.length()).thenReturn(len);
像这样的依赖
testImplementation "org.mockito:mockito-inline:2.8.47"
并得到
Stream Closed
java.io.IOException: Stream Closed
at java.base/java.io.RandomAccessFile.length(Native Method)
at com.example.examplepackage.enterprise.app.Installation$RealFileAccessor.readInstallationFile(Installation.java:87)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/java.lang.Thread.run(Thread.java:834)
这个错误。我尝试了几件事,但没有成功。删除 mockito-inline 不是一种选择,因为有很多测试模拟最终类。有什么可能的解决方案我可以尝试使这件事起作用吗?