要模拟文件。readAllBytes先抛出错误,然后抛出字节[]。。
getQueryTextFromFile是一个私有方法,从另一个方法调用以获取字节[]
private byte[] getQueryTextFromFile() {
try {
File file = new File("./");
byte[] refreshTableQueryBytes = Files
.readAllBytes(Paths.get(file.getAbsolutePath() +"src/resources/queryFile"));
return refreshTableQueryBytes;
} catch (IOException e) {
logger.error("Exception while fetching query details");
}
return null;
}
如何在此处模拟以使用Mockito框架引发IOException
您可以通过Mockito模拟文件。模拟静态。您应该将mockito内联依赖项添加到pom中。xml:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>3.8.0</version>
<scope>test</scope>
</dependency>
您可以使用Mockito。通过以下方式模拟静态:
try (MockedStatic<Files> mockedFiles = Mockito.mockStatic(Files.class)) {
mockedFiles.when(() -> Files.readAllBytes(any())).thenThrow(IOException.class);
// ...
}
请注意,当您使用mockedStatic时,最好使用“使用资源进行尝试”模式,并像上面那样在此范围内进行测试。
阅读有关mockStatic的更多信息:https://www.baeldung.com/mockito-mock-static-methods
我正在使用Sprock和Spring,当我嘲弄我的一个组件类时,我得到了错误。 > CGLIB-NODEP:3.2.0 CGLIB:3.2.0 Spock-Core:1.0-groovy-2.4 Spring-测试:4.1.4.释放 java.lang.NoClassDefoundError:无法初始化类org.spockframework.mock.runtime.proxybasedmockf
问题内容: 我正在尝试嘲笑课堂。当我运行以下代码时,Mockito会引发异常: 堆栈跟踪是无限重复的以下几行: 我在这里做错了什么? 问题答案: PS!您还可以模拟对getSecurityManager()方法的静态方法调用。 模拟静态方法请参见maunal,网址为http://code.google.com/p/powermock/wiki/MockitoUsage 在类级别添加@Prepare
我有自定义的Log4j2 appender: 我想模拟:
问题内容: 我在junit测试中使用了模仿。如何使异常发生,然后断言其具有(通用伪代码) 问题答案: __仅 Mockito 并不是处理异常的最佳解决方案, 请将Mockito 与 Catch-Exception结合使用 Mockito + 捕获异常 + AssertJ 样例代码 Mockito + Catch-Exception + Assertj完整样本 依存关系 eu.codearte.ca
JMeter HTTP请求-404错误 当我运行jmx文件时,其中一个HTTP请求文件会抛出404错误。屏幕截图如上图所示。 有人能为这个问题提出一些解决方案吗?