首页 > 解决方案 > 子类测试中的 JUnit4 NullPointerException,覆盖方法

问题描述

当我试图测试一个具有一个对象参数的构造函数的子类时,我发现了问题

public SigFX(final RepRow row) {
    super(row);
    fx = (FX) getTrade().getProduct();
}

@Override
public Object getLcyPdo4Amt() {
    return 0;
}

我运行测试

public class SigFXTest {

    private static final Object RepRowMock = null;
    final RepRow r = new ReportRow(RepRowMock);
    final SigFX s = new SigFX(r);

    @Test
    public void getLcyPdo4AmtTest() {           
        assertEquals(0, s.getLcyPdo4Amt());
    }    
}

所以它以 java.lang.NullPointerException 结束:fx = (FX) getTrade().getProduct();

标签: javajunitjunit4

解决方案


当 super(row) 执行超类构造函数时,为此您需要通过以下链接模拟基类构造函数。

模拟基于类的构造函数


推荐阅读