TEST 2

[TEST] TestCoverage 100%에 도달해보자.

문득 진행했던 프로젝트명이 TDD인데 테스트 커버리지 0%인 걸 보고 그래도 이름에 맞게 커버리지 80%까지는 올려보자 라는 생각으로 작성을 시작했다.하지만..테스트 코드를 작성하다 보면 자주 겪는 문제 중 하나는 바로 시간 관련 로직을 처리할 때 발생합니다. 특히, LocalDate.now()와 같은 시간을 직접적으로 로직 내에서 사용하면 테스트 코드가 실행되는 날마다 값이 달라져 테스트가 실패하는 문제가 발생합니다.시간에 의존적인 테스트 예를 들어 다음과 같은 코드가 있습니다:if (LocalDate.now() == todo.deadline) { // 특정 로직 수행}이 코드의 문제점은 테스트가 실행되는 날짜가 매번 바뀌기 때문에, 실행하는 날에 따라 테스트 결과가 달라질 수 있다는 것입니다.처..

TEST 2025.05.20

[TEST] RestDocs와 Kotlin DSL로 직관적인 테스트 코드를 작성해보자.

저는 최근 Spring RestDocs를 활용하여 REST API를 문서화하는 작업을 했습니다. 하지만 RestDocs를 기본적인 형태로 사용하면 다음과 같은 코드가 만들어지곤 합니다.requestFields( fieldWithPath("username") .type(JsonFieldType.STRING) .description("회원 이름"), fieldWithPath("avatarUrl") .type(JsonFieldType.STRING) .description("GitHub 프로필 URL"), fieldWithPath("gitUrl") .type(JsonFieldType.STRING) .description(..

TEST 2025.05.16