명명 패턴
•
도구나 프레임워크에서는 특별히 다루어야할 프로그램 요소에 고정된 이름을 사용하는 것을 명명 패턴이라 한다. 예를 들면 테스트 프레임워크 JUnit에서는 버전 3까지 테스트 메서드 이름이 test로 시작해야만 하도록 규칙을 정해두었다.
•
이런 명명 패턴의 문제는 실수로 tsetSafetyOverride와 같이 오타를 발생하면 JUnit은 테스트를 안하고 그냥 지나쳐버린다.
•
또 다른 문제점은 명명 패턴에 정해진 규칙이 아니면 다른 방법으로 사용할 수 없다는 점이다. 클래스 내의 모든 메서드를 테스트해보고 싶다고 클래스 명을 TestSafetyClass 라고 지어도 JUnit 3에서는 동작하지 않는다.
•
명명 패턴의 세 번째 문제점은 프로그램 요소를 매개변수로 전달할 마땅한 방법이 없다는 것이다.
애너테이션으로 해결하기
•
위의 명명 패턴 문제들을 해결하기 위해 JUnit 4부터 애노테이션 동작 방식이 도입되었다.
•
이제는 간단하게 @Test 애노테이션만 붙이면 메서드 이름이 어떻든, 메서드나 클래스 관계없이 테스트할 수 있다.
•
그러니 가급적 명명 패턴 대신 애노테이션으로 해결하자