본문 바로가기

Java

[Java] 테스트케이스 가독성 높이기

마찬가지로 "테스트 주도 개발로 배우는 객체 지향 설계와 실천"의 4부에 나오는 예제입니다.

전체적인 책의 내용은 Swing 소스라서 눈에 잘 안들어와서 읽기가 힘들었는데.. 4부는 일반적인 상황에 대한 이야기라서 잘 읽히네요..;; 편식도 아니고..편독을...


아무튼.. 테스트 케이스 가독성 높이기에 대한 예제 코드 2개입니다.




1. 첫번째 코드는 테스트 케이스의 메서드명을 테스트 대상 객체의 메서드명을 그대로 쓰거나, 의미없는 메서드명을 사용하지 말고, 기능을 설명하는 형태로 메서드명을 작성하라는 것입니다. TO-BE 코드를 보시면 메서드명이 상당히 길게 작성이 되어있는데요, 이 책에서는 어차피 이 메서드를 누군가 직접 쳐서 사용할 일이 없으므로 아무리 길어도 상관없다라고 하고 있네요.  그리고 채수원님께서 쓰신 책 TDD 관련 책에도 있는것처럼 한글등으로 메서드명을 작성하면 Junit 테스트 결과가 그대로 훌륭한 보고서가 될 수 있습니다.

2. 설명을 하는 Assert 구문인데요, 단순히 assert를 사용해서 expected, but was 만 나오게 할것이 아니라 앞에 간단한 설명 구문을 붙여주면 테스트 결과 자체가 훨씩 읽기 좋아질것이라는 예제입니다.



또한 String 메시지로 단정문을 작성해야 할 때 간혹 공백문자등으로 Fail이 나는 경우가 있습니다.

이런 경우에도 문자 자체가 중요하다고 하면, indexOf와 같이 문자열이 들어있는지를 파악할수 있는 메서드등을 사용하는 것도 방법이 될 수 있습니다.