gpt4 book ai didi

java - 使用 EasyMock 模拟 new PrintWriter(String fileName)

转载 作者:行者123 更新时间:2023-12-02 01:59:57 24 4
gpt4 key购买 nike

我的代码使用PrintWriter将内容写入文件,例如

PrintWriter writer = null;
try
{
writer = new PrintWriter( fileName + "_version", "UTF-8" );
writer.println( "writing File" );
}
catch( FileNotFoundException e )
{
e.printStackTrace();
}

我想仅使用 EasyMock 编写 jUnit 测试。我如何模拟new PrintWriter 的对象创建在 EasyMock 中?

最佳答案

您无法使用 EasyMock 测试上述代码。

无法使用 EasyMock 模拟 try/catch 中对 new PrintWriter() 的调用。故事结束。

您需要 PowerMock(ito) 或 JMockit 才能控制 new() 的结果。

或者(也是首选):您应该将难以测试的生产代码更改为更容易测试的代码,例如使用依赖项注入(inject)。一种简单的方法是将 FileWrite 对象传递给此类代码。

关于java - 使用 EasyMock 模拟 new PrintWriter(String fileName),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51746100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com