Spring Boot Java.lang.空指针异常:无法调用...””,因为“此.modelMapper”为空

tjvv9vkg  于 2023-03-02  发布在  Spring
关注(0)|答案(1)|浏览(161)

我已经学了4个月的Java了,所以请原谅我的一些基本错误。
我正在尝试对服务层中的一个方法进行单元测试:

@Override
    @Transactional
    public List<StudentDto> getStudentList() {
        List<Student> tempList = studentDAO.getStudentList();

        List<StudentDto> tempListStudentDto = new ArrayList<>();

        for (Student theStudent: tempList) {
            tempListStudentDto.add(convertToDto(theStudent));
        }

        return tempListStudentDto;
    }

使用此@Test:

// JUnit test for getStudentList()
    @Test
    @DisplayName("getStudentList()")
    public void givenStudentList_whenGettingList_thenReturnList() {
        // given -precondition
        BDDMockito.given(studentDao.getStudentList())
                .willReturn(List.of(newStudentOne, newStudentTwo));

        // when - behaviour that we are going to test

        List<StudentDto> studentList = studentService.getStudentList();

        // then - verify the output
        assertAll(
                () -> org.assertj.core.api.Assertions.assertThat(studentList).isNotNull(),
                () -> org.assertj.core.api.Assertions.assertThat(studentList).size().isEqualTo(2)
        );

我经常收到这样的错误:java.lang.NullPointerException:无法调用"组织.模型Map器.模型Map器. getConfiguration()",因为"此.模型Map器"为空
你能帮我一下吗?或者告诉我如何用一种可测试的方式把学生类转换成DTO?
我已经在谷歌上搜索了这个问题,并尝试了所有的建议,但无法使它工作。

fd3cxomn

fd3cxomn1#

为了帮助回答这个问题,我们需要查看您声明了哪些属性,添加了哪些注解。通常错误就在其中,要么是您忘记初始化属性,要么是您添加了错误的注解,混淆了单元测试和集成测试的注解。

相关问题