有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JMockit无法模拟类的公共final字段

我不能嘲笑一门课的公开期末考试

我有一个带有公共final字段(复杂对象)的锁定类

当我运行测试Jmockit时,它会返回空指针异常

那个被锁定的类没有该字段的getter或setter,我们通常直接访问它,但使用@Mocked,它似乎无法自动模拟该字段,我做错了什么

这是我遇到的情况的一个例子:

//测试方法

public static void xxx(final ComplexObjectA objA, ComplexObjectB objB, ComplexObjectC objC){
  try{
   //some code here
   anotherMethod(objB.myObject);
  } catch (blabla){}
}

//复杂对象B

public class ComplexObjectB extends SomeClass{
 public final SubComplexObject myObject;
}

//测试

public class MyTest{

    @Mocked
    ComplexObjectA objA;
    @Mocked
    ComplexObjectB objB;
    @Mocked
    ComplexObjectC objC;


    @Test
    public void checkSomeNull() throws SubjectException, IOException, SQLException {
        new Expectations(){{
            objB.myObject.getProperty("XYZ"); result = "1";
        }};
        MyClass.xxx(objA,objB,null);
    }
}

我做错了什么


共 (0) 个答案