我有一个来自不同类的静态void方法,它在我的代码中作为某种记录器调用。为了自动测试我的代码的不同用例,我正在考虑检查由这种方法创建的系统的日志。
我想的是模拟该类并覆盖方法的行为,以便输出到System.err
。另外,按照here的说明重定向System.err
,以便我可以轻松验证代码的正确运行。
我不知道如何覆盖方法的标准行为,以便它做某事(打印到stderr)而不是它通常做的事情(通过不嘲笑它)或什么都没有(我得到了什么{{1 }})
答案 0 :(得分:4)
嘲弄静态方法不是一个好方法,相信我。
尽管可以使用例如PowerMock
框架(它将取代引擎盖下的类加载器),但仍然不鼓励它。