[우아한테크코스] 3월 18일 TIL
오늘 배운 것
- 체스 미션 진행
- 테코톡
체스 미션 진행
Character.getNumberValue(47)
이게 ascii0
인 값 가져 오는 것- filter(king instanceof King)
- 각 기물한테 어느 방향으로 갈 수 있는지 주고, 타겟과의 최단거리인 방향으로 가도록 한다. 아니야 몬가 이상해..
해야하는거: 가야하는 방향으로 한칸 갈 수 있는 방향들을 가지고 한칸씩 가기로..
사실 나이트만 아니면 한 방향으로만 움직이므로 문제될 것은 없다
그럼 폰은 직진만 하려면 BLACK은 –, WHITE는 ++
타겟을 받아서 그 타겟의 방향으로 가면 되지 않을까!
- 각 기물한테 어느 방향으로 갈 수 있는지 주고, 타겟과의 최단거리인 방향으로 가도록 한다. 아니야 몬가 이상해..
테코톡
-
TDD와 단위테스트
test가 주도하는 개발 코드 작성..
적을 말이 없다..
피카한테 손절 당했다. ㅠㅠ -
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면 종료
- JUnit 이란?