AAA는 "Arrange, Act, Assert"의 약자로, 각 단계에서 수행되는 작업을 나타냄.
테스트를 수행하기 위해 초기 상태(테스트 환경)를 설정한다
필요한 객체를 생성하고, 의존성을 주입하고, 데이터를 준비하는 등의 작업을 수행.
테스트하려는 코드를 호출하고 실행한다
정확히 어떤 동작을 검증하기 위해 특정 메서드나 기능을 호출
실제로 테스트하려는 코드를 실행하여 기능이 동작하는지 확인하는 단계
실행한 코드의 결과를 기대하는 값과 비교하여 검증
예상한 결과와 실제 결과가 일치하는지 확인하여 테스트의 성공 여부를 판단
assert
메서드를 사용하여 동작한 기능의 결과가 예상과 같은지 확인하고, 만약 결과가 기대와 일치하지 않으면 테스트가 실패.
JUnit에서 각 단위 테스트는 고유 맥락을 갖는다. 즉, 결정된 순서로 테스트를 실행하지 않으며, 모든 테스트는 다른 테스트 결과에 영향을 받지 않는다. 심지어, 서로 다른 테스트를 위해 각각 별도의 Test 인스턴스를 생성한다.