使用PowerMockito模拟文件

问题描述

我正在尝试为以下方法编写测试用例。

File file = new File(filePath);
      if (file.createNewFile()) {
        FileWriter writer = new FileWriter(file);
        writer.write("xyz");
      }

使用powermockito,我编写了以下测试用例(此处仅显示了模拟内容)。我还添加了@RunWith(powermockrunner.class)和@PrepareForTest(实例化文件对象的类)。但是,它不起作用。

 File file = powermockito.mock(File.class);
 FileWriter fileWriter = powermockito.mock(FileWriter.class);
 powermockito.whenNew(File.class).withAnyArguments().thenReturn(file);
 powermockito.whenNew(FileWriter.class).withAnyArguments().thenReturn(fileWriter);
 when(file.createNewFile()).thenReturn(true);
 donothing().when(fileWriter).write(anyString());

添加了依赖性:

<groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>2.0.7</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito2</artifactId>
    <version>2.0.7</version>
    <scope>test</scope>
</dependency>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)