학습 테스트

넥스트 스텝: 자바 플레이그라운드 - 숫자 야구게임

숫자야구게임 - 학습 테스트 실습


StringClass 학습 테스트


요구사항 1

힌트 키워드

내용

학습 키워드가 어떤 상황에 어떤 테스트 메서드로 검증 해야 하는지 명확하게 나와 있었기 때문에 어려운 내용이 없었다. 본 미션을 들어가기 전 미션을 진행 하는 방법을 알려주는 워밍업 단계 인 것 같다. 그럼에도 불구하고 Java 생태계에서 실무를 하고 있지 않았기 때문에 구글링을 바탕으로 미션을 해결 하고있다.

참고 자료

요구사항 2

힌트 키워드

내용

요구사항 1번을 해결 하면서 나름의 눈치를 배웠는지 어떠한 검색도 없이 바로 String 클래스의 substring에 접근 해서 원하는 데이터를 뽑은 후 검증을 진행 했다.

요구사항 3

힌트 키워드

내용

DisplayName 테스트 메서드를 보자마자 다른 테스트 케이스에도 모두 작성 해줬다. 기존에는 파이썬의 Docstring 형태로 주석을 달아서 사용 하려고 했지만 매우 유용한 메서드가 있었기 때문에 안 쓸 이유가 없었다.

힌트에 제공 해준 문서를 보자마자 바로 해결 할 수 있을 것 같다고 판단 했는데 문서에 명시 된 상황과 내가 작성하는 상황과 유사한 느낌이 들지 않아서 구글링을 한 번 더 하여 정확하게 키워드를 뽑아내었다. 결국 assertThatThrownBy 내부에서 실행 한 함수를 Exception 으로 잡은 뒤 체이닝 방식으로 검증을 이어나갈 수 있다는 걸 배웠다. 이렇게 되면 Given, When, Then 구조가 정확하게 나온다.

참고 자료

SetCollection 학습 테스트


Fixture

    @BeforeEach
    void setUp() {
        numbers = new HashSet<>();
        numbers.add(1);
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
    }

요구사항 1

힌트 키워드

내용

워낙 간단한 코드이기도 하고, 요구사항이 명확했기 때문에 특별한 검색 없이 바로 검증을 할 수 있었는데 StringClass 학습 테스트 파일은 기존에 스켈레톤 코드 형식으로 작성 되어있는 부분이 있었다. 하지만, SetCollection 학습 테스트 파일은 Scratch로 다시 작성 해야했기 때문에 import 하는 내용이 이렇게 많았었나 싶었다.

참고 자료

요구사항 2

힌트 키워드

내용

Parameterized TestStringClass 학습 테스트 당시 사용 해봤기 때문에 내용을 어느정도 알고 있었다. 아는듯 한 느낌이 아닌 안다고 확신 할 수 있었기 때문에 해당 요구사항도 별 다른 검색 없이 진행 할 수 있었다.

참고 자료

요구사항 3

힌트 키워드

내용

테스트 메서드에 Key, Value로 매핑되는 값을 받을 수 있어 정적인 데이터를 검증 할 때 편리했다. 그 중 처음 StringClass 학습 테스트 때 사용 했을 땐 delimiter 를 몰랐었던 터라 사용하지 않고 쉼표로 구분 했었는데 콜론으로 구분 할 수 있어서 가독성이 조금 더 나아진 것 같다.

참고 자료