AssertJ의 assertThat() AssertJ는 JUnit 테스트 코드에 사용되어 많은 Assertion을 제공하는 자바 라이브러리입니다. 이는 에러 메세지와 테스트 코드의 가독성을 높여주는 장점이 있습니다. 모든 테스트 코드는 asssertThat() 메서드에서 출발합니다. 다음과 같은 형식으로 AssertJ에서 제공하는 다양한 메서드를 연쇄 호출하며 코드를 작성할 수 있습니다. isEqualTo(Object o) : equals()로 실제값이 기대값과 내용이 같은지 검증 isNotEqualTo(Object o) : equals()로 실제값이 기대값과 내용이 다른지 검증 isInstanceOf(Class type) : 실제값이 기대값 타입의 인스턴스인지 검증 isNotInstanceOf(Clas..
JUnit JUnit는 단위 테스트를 쉽게 해주는 테스트용 Framework입니다. 코드가 거대해지고 복잡해짐에 따라, 유닛 단위로 지속적인 테스트를 해서 작은 단위로 빠르고 안정적인 검증을 하기 위해 JUnit을 사용합니다. JUnit 어노테이션 @Test 함수 위에 선언해 테스트 함수임을 지정합니다. @Test(timeout = 밀리초) 테스트 함수의 수행 시간을 제한합니다. 테스트할 함수가 수행되는 시간이 어노테이션 매개변수로 지정한 시간을 넘긴다면 테스트 Fail @Test(expected = 예외) 테스트 함수의 예외를 지정합니다. 매개변수로 지정한 예외가 발생해야 테스트 Pass @Ignore 해당 어노테이션이 선언된 테스트 함수는 무시하도록 지정합니다. @BeforeEach 해당 어노테이션이..
🚀 기능 요구 사항 초간단 자동차 경주 게임을 구현합니다. 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다. 각 자동차에 이름을 부여할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다. 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다. 사용자는 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다. 전진하는 조건은 0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우이다. 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다. 우승자가 여러 명일 경우 쉼표(,)를 이용하여 구분한다. 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료되어야..