首页 > 解决方案 > 2 个分支中的 1 个错过了 jacooco stream().filter

问题描述

我试图让我的 jacoco 通过我的过滤器以 100% 提供它,但我尝试了很多方法,但我做不到。我对 findALL() 进行了过滤。我做了一个测试,检查来自服务的列表是否与存储库列表不同,我做了 assertNull, assertFalse 。我怎样才能让我的 jacoco 通过并在这种方法中给予 100%?此时 jacoco 说 2 个分支中的 1 个错过了“.filter(user-> user.getDeleteDate() == null).collect(Collectors.toList());”

  @Override
    public List<Users> findAll() {
        return Streamable.of(userRepository.findAll()).toList().stream()
                .filter(user-> user.getDeleteDate() == null).collect(Collectors.toList());

我的测试

doReturn(List.of(UserMock.getUser())).when(userRepository).findAll();

        List<User> resultListService = userService.findAll();

        List<User> resultListRepo = Streamable.of(userRepository.findAll()).toList().stream()
                .filter(user -> user.getDeleteDate() == null).collect(Collectors.toList());

        assertTrue(resultListRepo.stream().filter(user-> user.getDeleteDate() == null).collect(Collectors.toList()));

        assertTrue(resultListService != resultListRepo);
        assertFalse(resultListRepo.stream().findFirst().get().getDeleteDate() != null);

        assertFalse(resultListRepo.contains(NullPointerException.class));
        assertFalse(resultListRepo.isEmpty());
        assertFalse(resultListRepo.contains(UserMock.getUser().getDeleteDate() == new Date()));

        assertNotNull(resultListService.stream().findFirst().get().getDeleteDate() != null);
        assertNull(UserMock.getUser().getDeleteDate());
        assertTrue(resultListService.stream().findFirst().get().getDeleteDate() == null);

    assertFalse(UserMock.getUser().getDeleteDate() != null);
    assertFalse(resultListService.contains(resultListService.stream().findFirst().get().getDeleteDate() != null));

标签: spring-boottestingjava-streamjunit5jacoco

解决方案


推荐阅读