我正在开发涉及Mockito的Junit测试案例。
在许多情况下,在方法中使用了很多实例和静态变量。
在方法中手动检查所有代码行以了解需要嘲笑的对象的所有代码行是非常乏味的。
我想知道是否有任何更轻松的方法来提取方法中使用的实例和静态变量。我也是Junit和Mockito的新手。谢谢。
您得出了错误的结论。
您发现为您的生产代码编写良好的单位测试是 Hard - 因为它包含了许多需要嘲笑的东西。
您想通过某种方式自动解决该问题 模拟所有可能阻止您的生产代码在单元测试设置中运行的所有内容。
错误的方法:您正在尝试解决 a 症状。
根本原因很可能是您编写的很难测试生产代码。答案是:花时间和精力学习如何撰写易于测试生产代码。例如,以这些视频开始。
您看到的,生产代码包含的任何类或方法都应遵守单一责任原则。仅此一项就可以驱使您进入包含最小数量的"外部依赖性"的生产代码。
除此之外:理解使用static
基本上是好OOP的异常。当然,它具有其位置 - 但是,一旦" X是静态"转化为" X破坏我的单位测试",您再次做错了什么。static
的任何用法都破坏了您的单位测试能力,这清楚地表明您应该再次修复您的设计。