[우아한테크코스] 3월 18일 TIL

1 minute read

오늘 배운 것

  1. 체스 미션 진행
  2. 테코톡

체스 미션 진행

  1. Character.getNumberValue(47) 이게 ascii 0인 값 가져 오는 것
  2. filter(king instanceof King)
    • 각 기물한테 어느 방향으로 갈 수 있는지 주고, 타겟과의 최단거리인 방향으로 가도록 한다. 아니야 몬가 이상해..
      해야하는거: 가야하는 방향으로 한칸 갈 수 있는 방향들을 가지고 한칸씩 가기로..
      사실 나이트만 아니면 한 방향으로만 움직이므로 문제될 것은 없다
      그럼 폰은 직진만 하려면 BLACK은 –, WHITE는 ++
      타겟을 받아서 그 타겟의 방향으로 가면 되지 않을까!

테코톡

  1. TDD와 단위테스트
    test가 주도하는 개발 코드 작성..
    적을 말이 없다..
    피카한테 손절 당했다. ㅠㅠ

  2. JUnit5 사용법

    • JUnit 이란?
      단위 테스트 프레임워크
    • JUnit5 이란?
      Platform: 테스트를 실행해주는 런처 제공, TestEngine API 구현체
      Jupiter: TestEngine API 구현체
      Vintage: TestEngine 구현체
    • @Test
      테스트 메소드를 나타내는 어노테이션으로 어떠한 속성도 선언하지 않는다.
    • @BeforeAll, @AfterAll
      생명주기 어노테이션으로 모든 테스트 메서드 실행 전후에 딱 한 번 실행되는 것
    • @BeforeEach, @AfterEach
      각 메서드 실행 전후에 매번 실행되는 것
    • @Disabled
      테스트 하고 싶지 않은 클래스나 메서드에 붙이는 것
    • @DisplayName
      공백, 이모지, 특수문자 모두 지원
    • @RepeatedTest
      특정 테스트를 반복시키고 싶을 때 사용
    • @ParameterizedTest
      매개변수를 대입해 반복 실행할 때 사용
    • @Nested
      내부 클래스를 정의해 테스트를 계층화할 때 사용
      내부 클래스는 부모클래스의 멤버 필더 접근 가능
    • Assertions
      assertAll: 모든 테스트코드를 한 번에 실행, 람다로 다른 테스트 전달
      assertThrows: 예외 발생을 확인하는 테스트
      assertTimeOut(duration, executable): 시간이 초과되는지 아닌지 확인하는 테스트
    • Assumption
      전제문이 true면 실행, false면 종료