我的单元测试设置如下:
工作流程:单元测试 - >创建对象 - > TimeUtil中的静态方法调用 - >从TimeService获取时间
此工作流程在生产中运行良好,但测试具有挑战性,因为某些原因TimeUtil中的TimeService始终为null。 Spring应该在运行时将TimeService实例注入到TimeUtil中。
有人可以告诉我为什么我的TimeService会一直变回null吗?
我尝试使用Mockito来捕获静态方法调用,但这并不起作用,同样我也无法将TimeService模型注入到对象类中,因为这会静态调用TimeUtil。
答案 0 :(得分:0)
您需要查看Spring配置,以了解您(或您团队中的某个人)如何使Spring连接静态TimeService
。通常,Spring只适用于它创建的bean。因此不支持全局变量和静态方法。在这种情况下,某人必须有书面代码才能进行注射。
向我们展示此代码,我们可以帮助您改进它以进行单元测试。