요즘 나는 Java로 데이터 구조를 코딩하고 있습니다. 그들 중 많은 수가 (전부는 아닐지라도) 매우 간단한 인터페이스 (add, contains, delete)를 제공하지만, 사소한 알고리즘은 중요하지 않습니다.tdd (평범하지 않은 알고리즘 사용)
그런 상황에서 어떻게 tdd 기법을 사용할 수 있습니까?
제가 생각하기에는 tdd (및 일반적으로 단위 테스트)는 인터페이스가 아니라 구현을 테스트하는 것입니다. 내가 맞습니까? 이 문제를 어떻게 처리 할 수 있습니까?
이 사례를 처리 할 수있는 방법을 알고 있다면 알려 주시기 바랍니다.
도움 주셔서 감사합니다.
이 경우 인터페이스 만 테스트하면 수업을 만들고 필기 방법을 쓰는 데 도움이되지 않는다. 실제로는 tdd의 이점을 무효화한다. 생각하지 않니? – TheSENDER
'merge()'나'resizeArray()'와 같은 내부 구현 메소드에 대한 테스트를 작성하는 것을 막을 수는 없지만, 이렇게하면 테스트가 더 부서지기 쉽다. –
또한 테스트가 동일한 패키지에 있음을 보장하는 경우, "실제"세계에 여전히 숨겨져있는 것을 보호함으로써이를 수행 할 수 있습니다. –