우아한테크코스
강의 내용
- 요구사항 분석 후 테스트 케이스를 작성했다 가정
- 테스트 케이스 구현 코드 작성 시 현재까지의 모든 테스트 케이스가 제대로 작동하도록 작성
- 테스트 코드의 이름은
@Display(”메소드명")
을 이용하여 작성할 수 있음
- 인텔리제이는 함수 이름에 한글을 작성하면 아스키코드가 아니므로 warning 으로 로그가 남음
- 프로젝트가 커질 수록 warning 의 개수가 많아지면 발생 목록을 확인해야 함
- 메소드명에 한글이 있을 경우 warning 이 발생하는 것을 무시하겠다는
@SuppressWarnings(”NonAsciiCharacters”)
를 이용할 수도 있음 → 메소드에 작성할 경우 범위 메소드, 클래스에 작성할 경우 범위 클래스
- JDK 11 버전부터 타입(자료형)에
var
사용 시 타입 추론
- 자바 : 기본적으로 가변, final 을 붙여서 불변 / 그 외의 대부분의 언어 : 기본적으로 불변
- 커밋의 기준 : 최소한으로 자르는 것은 좋지만 상황에 따라 적절한 수를 조절하는 것이 좋음 → 무조건 잘게 구분한다고 다 좋은 것은 아님
- 커밋 시 에러가 발생하지 않은 경우에 해야함
- final 을 붙여서 메소드 내에 값이 변하지 않음을 알림
- 테스트 메소드명에 snake case 써도 될까? → 논란이 많지만
네오
코치님은 써도 된다고 생각함^^
- 테스트만을 위한 생성자 →
네오
코치님은 괜찮다고 생각함^^
- 한 테스트 메소드 내에서 assert 문을 여러개 쓰면 어떤 경우가 안되는지 파악이 어려움
- 테스트 코드도 코드이므로 깔끔하게 작성하는 것이 좋지만 어쩔 수 없이 길어질 수는 있음
- 테스트 때문에 접근 제어자를 수정하는 것은 좋지 않다
- 리플렉션을 활용해서 private 메서드를 테스트하는 것은 좋지 않음
- 단순 반환값을 확인하기 위해 getter 테스트는 굳이 할 필요가 없음