221001~1007_광고 관리 플랫폼 대행사 센터 제작 32_테스트 리팩토링, 들여쓰기 정리

창고·2022년 10월 10일
0

해당 게시글은 개인 프로젝트인 "광고 관리 플랫폼 대행사 센터 제작"
#93 "광고 관리(소재) 페이지 수정 및 통계 기능 구현", #94 "테스트 리팩토링", #95 "들여쓰기 정리" 이슈를 다루고 있습니다.

1. 진행 사항 및 결과

(1) 통계 기능 구현 관련

  • 본래 실적 통계를 바탕으로 소재 - 캠페인 - 광고주 통계 기능을 같이 구현하려 하였으나
    DB 설계 및 JPA, Querydsl의 이해도 부족으로 당장 기능 구현을 할 수 없어 이슈 종료 처리하였음
  • 관련 강의 서적을 통해 DB 설계, JPA, Querydsl에 대한 이해도를 올리면서 틈틈이 기능 구현을 진행하고자 한다. (전반적으로 리팩토링을 할 가능성 매우 높음)
  • 1.2.0 릴리즈는 통계 기능 구현만을 다룰 예정

(2) 테스트 리팩토링

  • 본디 테스트에서 엔티티, Dto를 생성할 시 클래스 내부에 fixture를 만들어 진행하였으나 기능 추가 개발 과정에서 엔티티, Dto의 수정이 이뤄질 시 테스트 클래스마다 일일이 fixture를 수정해야 하는 불편함이 있었음
  • 이에 엔티티, Dto 생성만을 담당하는 fixture 클래스를 제작하여 수정이 필요할 시 해당 클래스만 변경할 수 있게끔 처리하였음
  • 수정 전
    void givenNothing_whenRequesting_thenReturnsUpdatedAgentGroupPage() throws Exception {
        // Given
        Long agentGroupId = 1L;
        AgentGroupDto dto = createAgentGroupDto();
        given(agentGroupService.getAgentGroup(agentGroupId)).willReturn(dto);

        // When & Then
        
        ......
        
    // fixture

    private AgentGroupDto createAgentGroupDto() {
        return AgentGroupDto.of(
                createAgencyDto(),
                1L,
                "테스트용",
                LocalDateTime.now(),
                "테스트",
                LocalDateTime.now(),
                "테스트"
        );
    }                
  • 수정 후
    void givenNothing_whenRequesting_thenReturnsUpdatedAgentGroupPage() throws Exception {
        // Given
        Long agentGroupId = 1L;
        AgentGroupDto dto = Fixture.createAgentGroupDto();
        given(agentGroupService.getAgentGroup(agentGroupId)).willReturn(dto);

        // When & Then

(3) 들여쓰기 정리

  • 회사에서 notepad++ 로 작업한 코드를 붙여넣을 시 인텔리제이 상에서는 문제가 없으나 실제로 commit을 하고 보면 들여쓰기가 엉망인 경우가 많았어서 모든 클래스에 대한 들여쓰기 수정을 진행하였음
profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글