Java/Java
테스트 코드 작성 시 동일 객체의 save() 호출을 줄이는 팁
자바보이
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 이상
}
}