728x90
1. 모든 테스트는 실행 순서에 상관없이 독립적으로 항상 동일한 결과를 낼 수 있도록 해야 한다.
2. 성공하는 테스트만 골라서 만들지 말자.
3. JUnit이 테스트를 수행하는 방식
- 테스트 클래스에서 @Test가 붙은 public이고 void형이며 파라미터가 없는 테스트 메소드를 모두 찾는다.
- 테스트 클래스의 오브젝트를 하나 만든다.
- @Before가 붙은 메소드가 있으면 실행한다.
- @Test가 붙은 메소드를 하나 호출하고 테스트 결과를 저장해 둔다.
- @After가 붙은 메소드가 있으면 실행한다.
- 나머지 테스트 메소드에 대해 2~5번을 반복한다.
- 모든 테스트의 결과를 종합해서 돌려준다.
4. 픽스처 : 테스트를 수행하는 데 필요한 정보나 오브젝트(@Before 메소드에 정의하는 내용들)
5. @Runwith : JUnit 프레임워크의 테스트 실행 방법을 확장할 때 사용.
JUnit용 테스트 컨텍스트 프레임워크 확장 클래스를 지정해 주면 JUnit이 테스트를 진행하는 중에 테스트가 사용할 애플리케이션 컨텍스트를 만들고 관리하는 작업을 진행해 준다.
6. @ContextConfiguration: 자동으로 만들어줄 애플리케이션 컨텍스트의 설정파일 위치를 지정.
7. DI는 테스트가 작은 단위의 대상에 대해 독립적으로 만들어지고 실행되게 하는데 중요한 역할을 한다.
8. 테스트 결과는 일관성이 있어야 한다. 코드의 변경 없이 환경이나 테스트 실행 순서에 따라서 결과가 달라지면 안 된다.
9. 테스트하기 쉬운 코드가 좋은 코드다.
10. 오류가 발견될 경우 그에 대한 버그 테스트를 만들어두면 유용하다.
'Study > Spring' 카테고리의 다른 글
[토비의 스프링] 4장. 예외 (0) | 2024.02.24 |
---|---|
[토비의 스프링] 3장. 템플릿 (1) | 2024.02.24 |
[토비의 스프링] 1장. 오브젝트와 의존관계 (0) | 2024.02.12 |
댓글