无法使用空参数模拟枚举静态方法

Unable to mock enum static method with null parameter

我正在尝试模拟枚举的静态方法,它具有如下所示的空值

 try (MockedStatic<SomEnum> e = Mockito.mockStatic(SomEnum.class)) {
            e.when(() -> SomEnum.methodWhichAcceptingNullParam(any())).thenReturn(somValue);
        }

此处 any() 不起作用...我不确定我是否在方法内部传递空参数

methodWhichAcceptingNullParam

我已经尝试过任何 isNull.The 事实上 SomEnum.methodWhichAcceptingNullParam 总是被调用但是它不应该因为我已经提供了一个模拟值

有什么帮助吗?

您的代码是使用空对象还是非空对象调用的?此信息丢失(至少对我而言)。

假设你调用的是SomeEnum.methodWhichAcceptingNullParam(null),那么你需要使用

ArgumentMatchers.isNull()

而不是 any()。