Java 可以在静态类中注入模拟吗

Java 可以在静态类中注入模拟吗,java,unit-testing,junit,Java,Unit Testing,Junit,我有静态课。我正在使用JUnit和Mockito为一个静态方法编写JUnit。在该方法中,调用其他类级静态变量的函数。我想模拟这个函数调用。我的代码如下: class ABC { public static SomeVariable var; public static Value getSomething() { try { Value val = var.getValue(); } catch (Pro

我有静态课。我正在使用JUnit和Mockito为一个静态方法编写JUnit。在该方法中,调用其他类级静态变量的函数。我想模拟这个函数调用。我的代码如下:

class ABC {
    public static SomeVariable var;

    public static Value getSomething() {
        try {
            Value val = var.getValue();
        }
        catch (Probable exceptions) { //Handle exceptions } 
        }
    }
}
在Junit中,我写了以下内容来注入mock

@Mock
SomeVariable var;

@InjectMocks
ABC abcTest;

Mockito.when(var.getValue()).thenReturn(somevalue); //Getting compilation error here 
abcTest.getSomething();
在模拟var.getValue()时,我得到的错误为“未处理的异常类型”
请建议我如何解决这个问题。

我以前也一直在努力尝试模拟静态方法。我对这个问题没有直接的解决办法,因为我用不同的方法解决了它。我删除了静态部分,因为在编写测试时,它导致了很多问题

但我的建议是看看模拟静态方法的方法。
在你的例子中,这可能很有趣。

你能仔细检查一下你的示例代码吗;它有问题,但您在评论中提到的编译错误不在其中