TDD는 아니지만 테스트를 할 때 궁금합니다. 켄트 벡의 테스트 주도 개발 서적도 그렇고, 채수원 님의 서적도 그렇고, 테스트 클래스들을 보면 하나같이 assertEquals(expected, AClass.getField()); 코드처럼 어떤 클래스의 getXXX() 메서드를 호출해서 클래스의 상태(필드)를 체크하는데, 이 메서드를 제공하지 않는 클래스는 어떻게 상태를 체크해야 될까요?
TDD는 아니지만 테스트를 할 때 궁금합니다. 켄트 벡의 테스트 주도 개발 서적도 그렇고, 채수원 님의 서적도 그렇고, 테스트 클래스들을 보면 하나같이 assertEquals(expected, AClass.getField()); 코드처럼 어떤 클래스의 getXXX() 메서드를 호출해서 클래스의 상태(필드)를 체크하는데, 이 메서드를 제공하지 않는 클래스는 어떻게 상태를 체크해야 될까요?
1개의 의견 from SLiPP
객체의 상태 값을 getter 메서드 없이 테스트하고 싶다면 equals method를 활용해 테스트할 수 있습니다.
만약 다음과 같은 클래스가 있다고 생각해 보죠.
이 Timer 클래스의 move method는 어떻게 테스트하면 될까요? 많은 개발자가 Timer 클래스를 테스트하기 위해 getCount() 메서드를 생성하려고 하는데요. 그 보다는 다음과 같이 테스트할 수 있겠죠.
이와 같이 equals 메서드를 활용해 테스트한다면 굳이 getCount() 메서드를 추가하지 않아도 됩니다.
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.