Software Backend/TDD

    Mock && Mockito : 가짜 객체

    Mock 객체란? 실제 객체를 만들기 위해서는 비용과 시간이 많이 들기 때문에, 비용이 적게 들도록 가짜 객체를 생성하여 사용하는데 이것이 Mock 객체이다. 일반적으로 테스트 더블은 상태(State)를 기반으로 테스트 케이스를 작성하는데 Mock 객체는 행위(behavior)를 기반으로 테스트 케이스를 작성한다 테스트 더블이란? 실제 객체를 사용하지 않고 이를 대신해줄 가짜 객체를 만들어 테스트 수행을 하는 방법 상태기반 특정한 메소드를 거친 후 객체의 상태에 대해 예상값을 비교 가장 보통의 예 : setName("test") → assertThat( "test", is(getName() ); 행위기반 메소드 리턴값이 없는 void 이거나, 예상된 동작을 보장할 수 없을때 시나리오를 기반으로 A가 입력..

    JUnit : 자바에서 사용하는 가장 대표적인 단위 테스트 프레임 워크

    JUnit : 자바에서 사용하는 가장 대표적인 단위 테스트 프레임 워크

    JUnit TDD 사이클을 진행하는데 도움을 주는, Java에서 사용하는 가장 대표적인 단위 테스트 프레임 워크이다. 테스트 결과가 예상과 같은지를 판별해주는 단정문(assertions) 여러 테스트에서 공용으로 사용할 수 있는 테스트 픽스처(test fixture) 일관된 테스트 실행환경 테스트 작업을 수행할 수 있게 해주는 테스트 러너(test runner) JUnit의 단정문 assertEquals : 두 값이 같은지 비교 assertSame : 두 객체가 동일한 객체인가 주소 값으로 비교 assertNotSame : 두 객체가 동일하지 않은 객체인가 주소 값으로 비교 assertTrue : 값이 참인지 비교 assertFalse : 값이 거짓인지 비교 assertNull : 값이 null 인지 비..

    TDD : 테스트 주도 개발

    TDD : 테스트 주도 개발

    TDD : 테스트 주도 개발 What is TDD (Test Driven Development)? TDD의 정의는 다음과 같다. Test the Program before you write it. ( 프로그램을 작성하기 전에 테스트 먼저 해라 ) by 켄트 백 "업무 코드를 작성하기 전에 테스트 코드를 먼저 만드는 것" 고전적인 개발 방법의 문제점 특정 모듈의 개발 기간이 길어질수록 개발자의 목표의식이 흐려진다 작업 분량이 늘어날수록 확인이 어려워진다 개발자의 집중력이 필요해진다 논리적인 오류를 찾기가 어렵다 코드의 사용 방법과 변경 이력을 개발자의 기억력에 의존하게 되는 경우가 많다 테스트 케이스가 적혀 있는 엑셀 파일을 보며 매번 테스트를 실행하는 게 점점 귀찮아져서는 점차 간소화하는 항목들이 늘어난..