给定一个用@Log注释的类;是否可以用Mockito模拟注入的记录器进行单元测试?这是正确的"槽式"做事方式吗?
我们在将Mockito与Groovy一起使用时遇到了一些问题,正如这里所描述的那样。也许,你可能想使用另一个支持Groovy的模拟框架,比如GMock。
有关更多信息,您还可以查看此链接。
我实现这一点的方法是在要测试的类中定义另一个 Logger 变量,非最终的并且具有更宽松的范围。然后,构造函数默认采用注入的记录器并为其分配更宽松的对象。在测试中,记录器实例可以设置为模拟对象,然后将其分配给更宽松的对象。
不像允许模拟注入的物体那么完美;但功能齐全。