DB에 데이터를 저장하는 로직을 짜는 중인데 매번 수동으로 테스트하는 것이 힘들어서 테스트코드를 작성해보려고 한다.
JUnit은 Java 생태계에서 가장 널리 사용되는 단위 테스트 프레임워크 중 하나입니다. JUnit5는 Java 8 이상의 새로운 기능을 지원합니다.
- Junit Platform
JVM 위에서 테스트 프레임워크를 시작하기 위한 기반을 제공한다. 플랫폼에서 실행되는 테스트 프레임워크를 개발하기 위한 TestEngine API를 정의한다.
IDEs(IntelliJ, Eclipse, Visual Studio Code)와 build tools(Gradle, Maven)에도 존재한다.
- JUnit Jupiter
JUnit 5에서 테스트 및 확장을 작성하기 위한 프로그래밍 모델과 확장 모델의 조합이다. Jupiter 하위 프로젝트는 플랫폼에서 Jupiter 기반 테스트를 실행하기 위한 TestEngine을 제공한다.
- JUnit Vintage
플랫폼에서 JUnit 3 및 JUnit 4 기반 테스트를 실행하기 위한 Test Engine을 제공한다.
@ExtendWith(SpringExtend.class)
@DataJpaTest
@AutoConfigureTestDatabase(replace = Replace.NONE)
class UserRepositoryTest {
@Autowired
UserRepository userRepository;
@Test
void save() {
// given
String userId = "ADMIN";
UserEntity user = UserEntity.builder().userId(userId).build();
// when
final UserEntity saveUser = userRepository.save(user);
// then
assertEquals(userId, saveUser.getUserId());
}
}
https://howtodoinjava.com/spring-boot2/testing/spring-boot-2-junit-5/