테스트 코드 작성 시 동일 객체의 save() 호출을 줄이는 팁

Java/Java · 2021. 3. 25. 18:03

 

 

기존에 작성하던 인스턴스를 생성하여 Repository에 save()를 하던 방식은 다음과 같은데, List.of(), 혹은

 

Lists.newArrayList()를 이용하면 메서드 호출 한번으로 save가 가능하다.

 

@DataJpaTest
class UserRepositoryTest {
    @Autowired UserRepository userRepository;

    @Test
    void sample() throws Exception {
        User user1 = new User();
        User user2 = new User();
        User user3 = new User();
        
        userRepository.save(user1);
        userRepository.save(user2);
        userRepository.save(user3);
       
    }
}

 

List.of()는 자바9에서 지원하므로  assertj에서 제공하는 Lists.newArrayList()를 사용하면 자바 8 환경에서도 사용 할 수 있

 

다.

 

import org.assertj.core.util.Lists;

@DataJpaTest
class UserRepositoryTest {
    @Autowired UserRepository userRepository;

    @Test
    void sample() throws Exception {
        User user1 = new User();
        User user2 = new User();
        User user3 = new User();
        
        userRepository.saveAll(Lists.newArrayList(user3)); // 자바8 이상
        userRepository.saveAll(List.of(user1, user2));     // 자바9 이상 
       
    }
}

'Java > Java' 카테고리의 다른 글

클래스 안에서 정의한 static 클래스의 의미  (0) 2020.12.31