Java 测试用例中的NPE

Java 测试用例中的NPE,java,junit,mockito,powermock,Java,Junit,Mockito,Powermock,我正在编写控制器类的测试用例,它具有返回模型对象的getModel()方法。以下是方法的片段: @Override public ContentModel getModel() { if(getCurrentPage().getDepth() > 0) { parentTitle = getCurrentPage().getParent().getTitle(); parentPath = getCurrentPage().getParent().

我正在编写控制器类的测试用例,它具有返回模型对象的getModel()方法。以下是方法的片段:

@Override
 public ContentModel getModel() {
    if(getCurrentPage().getDepth() > 0) {
        parentTitle = getCurrentPage().getParent().getTitle();
        parentPath = getCurrentPage().getParent().getPath();
    }
    else {
        parentTitle = "No Parent";
        parentPath = "No Parent";
    }
    return ComponentModelBuilder.build(
            rcm -> rcm.setHeading(heading),
            rcm -> rcm.setParentTitle(parentTitle),
            rcm -> rcm.setParentPath(parentPath)
    );
}
以下是测试用例:

@Test
    public void getModelShouldReturnValidModelWhenInjected() {

        Page parentPage = mock(Page.class);

        ContentModel contentModel = contentController.getModel();
        assertThat(ContentModel instanceof contentModel, is(true));
        assertThat(((ContentModel) contentModel).getHeading(), is("Heading   For Banner"));

    }
在这里,我们如何模拟currentPage对象,并在parentTitle和parentPath的测试用例中使用它

stacktrace :
java.lang.NullPointerException
    at com.prj.project.aem.components.base.BaseController.getCurrentPage(BaseController.java:127)
    at com.prj.project.aem.components.content.contentController.getModel(contentController.java:61)

你能分享stacktrace吗?我打赌
contentController
要么从未实例化过,要么是一个模拟对象。我打赌他期望
Page parentPage=mock(Page.class)模拟对象
getCurrentPage()。getParent()
是,contentController是模拟对象。