본문 바로가기

테스트주도개발4

Mock 객체란 무엇일까? 왜 써야될까? 아래 내용은 위 책에서 말하는 4장 TDD with Mock 에서 내용을 발췌했습니다. TDD를 공부하면서 Mock 이라는 용어는 너무나도 많이 나오고, 실제로 테스트 프레임워크를 사용하면 Mock 객체를 많이 사용되게 된다. 그놈의 Mock! Mock 객체를 사용해서, 테스트를 용이하게 만들수 있고, 아직 만들어지지 않은 개념을 활용해 내가 만들고자 하는 객체를 구체화시킬 수 있는 도구라는 사실은 알았다. 그러나 문제점은 여기에 있었다. 주로 Mockito 프레임워크를 사용하는데, 각 Mock 객체가 어떤 역할을 하는지 이해하기 어려웠다. 더하여, 어떻게 활용해야 하는지도, 이해하기 어려웠다. 이번 장에서는 다시한번 Mock을 써야하는 이유, 그리고 Mock 객체가 어떤 역할을 하는지, 마지막으로 어떻.. 2021. 3. 11.
TDD 좀 더 잘하기 아래 내용은 고품질 쾌속개발을 위한 TDD 3장 내용을 발췌했습니다. TDD의 한계 이번 장에서는 TDD의 한계 라는 주제로 내용만 다룰까 합니다. 동시성 문제 동시성이 필요한 테스트케이스의 경우, 작성하는데는 문제가 어렵지 않다. 그러나, 테스트 자체를 무결하게 유지하기가 매우 어렵다. 상식적으로 파악하기 어려운 불규칙한 문제가 적지 않게 발생하기 때문이다. 현재 유일한 해결책을 제시하기는 어렵지만 다양한 방식으로 해결한다 그러나 여전히 명확하게 테스트할 수 있는 것은 없는 것 같다. 접근제어자(private/protected 메서드) 테스트할 항목의 접근 제한에 대한 논의. private으로 되어 있는 메소드는 일반적인 방법으로는 테스트가 불가능하다. 그러나, private으로 되어 있어서 접근이 어.. 2021. 3. 11.
테스트 주도 개발 입문해보기 고품질 쾌속개발을 위한 TDD 실천법과 도구 - 1장 내용을 스스로 이해하기 위해 작성하는 글입니다. 1.1 일반적으로 우리의 개발은 다음과 같다. 우리 개발자 자신의 두뇌는 명석하기때문에 개발을 하면서, 문제영역을 발견한다. 문제영역을 발견하고, 이를 해결하기 위해 '기능을 구현' 하고, 일정 시간이 지나면 구현의 '검증' 을 위한 테스트를 수행합니다. 대표적인 방식은 "콘솔에 값 찍어보기?" 위와같이 했을 경우, 주의해야 될 부분으로 문제의 해결 유무 판단을 우리의 두뇌가 하려고 한다는 것이다. 여기서 문제점이 발생한다. 사람의 머리란 간사해서- 상황에 따라서 다른 반응을 하고, 효율도 그때그때 다르다. 고전적인 개발 방식에서의 문제점은 다음과 같다. 1. 특정 모듈의 개발 기간이 길어질수록 개발자의.. 2021. 3. 9.
테스트 주도 설계를 실천한다는 것 밥 로스 로스가 대중에게 인상적인 모습을 보인 것 중 하나가, 그림은 형태를 정하고 하나하나 디테일을 정해가면서 그려 나아가는 것이라는 일반인의 고정관념을 깬 것도 한몫 한다. 이미 그린 수풀이 붓으로 몇 번 칠하니 호수가 된다든지 하는 모습은, 그때그때 마음가는 대로 그려 나아가는 것이 낭만적이라는 느낌을 주기도 한데다, 유화를 배우지 않은 일반인 입장에서 보면 신기할 수밖에 없다. - 밥 로스에 대한 평가 우리는 밥 로스라는 사람을 알고 있습니다. 누가봐도 어려운 그림을 "참 쉽죠?(That easy)" 라는 대사로 유명한 밥로스는 그림을 그리는 방식이 특이하다고 합니다. 그림을 그릴 때, 밥 로스는 하얀 캔버스 위에 아주 약간의 덧칠로서 그림 전체의 윤곽을 만들어 완성 시키면서 그 다음 스텝을 이어.. 2020. 12. 18.