개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다.
그냥 이렇게 하면 save메소드가 실행된다.
@Test
public void save() {
Member member = new Member();
member.setName("spring"); // 멤머의 이름 세팅
repository.save(member); // repository에 이 member를 save해줌.
// 내가 저장한 멤버를 id로 찾아보며 검증.
repository.findById(member.getId()).get();
}
위의 과정을 거쳐 만들어진 코드
@Test
public void save() {
Member member = new Member();
member.setName("spring"); // 멤머의 이름 세팅
repository.save(member); // repository에 이 member를 save해줌.
// 내가 저장한 멤버를 id로 찾아보며 검증.
Member result = repository.findById(member.getId()).get();
// System.out.println("result = " + (result == member)); // 이렇게 확인해봐도 된다.
Assertions.assertEquals(member, null);
}
그렇지만 이렇게 글자로 계속 볼수만은 없다!
이걸로 검증을 해보자.
-> 튀어나오는 것은 없지만 초록불로 잘 나오는걸 볼 수 있다.
테스트가 잘된게 맞나 확인해보기 위해 result값을 바꿔서 다시 테스트.
-> null값을 넣어서 확인해보니 빨간불이 나온다!
=> Expected(예상)은 이것인데 Actual(실제)는 null이다.