본문 바로가기

반응형

TDD

로버트 C. 마틴 TDD 3원칙 - TDD(Test Driven Development) TDD의 필요성 프로덕션 코드를 먼저 생성하고 이후 테스트 코드를 작성하는 방식에는 다음과 같은 문제점이 존재합니다. 요구사항을 명확히 규정하기 어렵습니다. 스스로 작성한 코드가 편향적일 수 있습니다. 모든 요구사항이 테스트 되었는지 확인할 수 없습니다. 지루합니다. 이러한 단점을 극복하기 위한 개발 방식이 테스트 주도 개발입니다. 테스트 주도 개발은 이름에서 느껴지는 것처럼, 테스트 코드를 먼저 작성하고 이를 만족하기 위한 프로덕션 코드를 생성하는 개발 과정을 의미하며, 이전 포스팅까지 우리는 입력을 여러 대표군으로 나누고, 이를 만족할 수 있는 테스트를 나열한 후, 모든 테스트를 만족하는 최소한의 코드를 작성하는 방식으로 TDD를 연습해왔습니다. 이러한 방식은 요구사항을 명확히 하고, 편향성을 극복할.. 더보기
Unit Test(유닛 테스트) 팁 5가지 - TDD(테스트 주도 개발) static method 제한적 사용 테스트 대상이 되는 함수 내부에서 static method를 사용한다면, 해당 부분은 Mocking 할 수 없습니다. 따라서 위 테스트와 마찬가지로 실행 환경에 영향을 받는 테스트를 작성하게 됩니다. singleton 및 object 제한적 사용 싱글톤 패턴이나 코틀린의 object를 사용하는 경우, 여러 테스트를 한 번에 테스트할 때 변수를 공유하기 때문에 문제가 발생할 수 있습니다. Object 개념과 Data Structure 개념 구분하여 사용 Object는 메소드 실행을 위한 클래스를 말하며, Data Structure는 데이터 저장을 위한 클래스를 말합니다. 코틀린에서는 Data Structure를 위해 Data Class를 사용하므로 둘을 구분하기 더욱 .. 더보기
Mockito 프레임워크 - TDD(테스트 주도 개발) 2021.12.14 - [Android/TDD(Test Driven Development, 테스트 주도 개발)] - Test Double Test Double 2021.12.10 - [Android+Kotlin+Figma] - Unit Test - TDD(Test Driven Development, 테스트 주도 개발) Unit Test - TDD(Test Driven Development, 테스트 주도 개발) 사담 안드로이드 개발의 기초적인 부분을 훑.. roomedia.tistory.com Mockito 이전 포스팅까지 우리는 Test Double 클래스를 직접 작성하였습니다. Mockito 프레임워크는 이러한 클래스 작성에 필요한 노력을 줄여주는 프레임워크입니다. 이번 포스팅에서는 두 가지 방식으로 .. 더보기
Test Double(테스트 더블) - TDD(테스트 주도 개발) 2021.12.10 - [Android+Kotlin+Figma] - Unit Test - TDD(Test Driven Development, 테스트 주도 개발) Unit Test - TDD(Test Driven Development, 테스트 주도 개발) 사담 안드로이드 개발의 기초적인 부분을 훑으면서, 어느 부분에 대해 테스트를 작성해야 하는지 구분이 모호하다고 생각했습니다. 이를테면 "버튼을 누르면 다음 화면으로 넘어가는 기능"은 roomedia.tistory.com Test Double의 필요성 이전 포스팅에서 단일 클래스를 대상으로 테스트 케이스를 작성하여 Unit Testing(유닛 테스트)을 진행하는 방법에 대해 살펴보았습니다. 이 경우 가장 조심해야 하는 부분은, 적절한 대표군을 선정하여 가능.. 더보기

반응형