grep.app
상수 선언
동반객체 VS 최상위 수준
- 자신만의 기준을 토대로 상수를 어떤걸로 선언할 지 고르기
앞으로 오류 날리기는 require() or check() 사용
- require() : 값을 체크 (IllegalArgumentException)
- check() : 상태 체크 (IllegalStateException)
함수 짤 때
- 하위호환성을 보장하기
- 단위테스트하기 편하도록 구성
- 테스트하기 어려운 부분은 인자로 받아올 수 있도록 구성
랜덤값을 테스트 할 때
- 클래스를 open해서 열어줌
- 해당 랜덤값 생성 함수도 open 해서 열어줌
open : 상속가능한 클래스로 만들어줌
- TestCar() 클래스를 만든 후 Car()클래스를 상속받아 테스트 함
@Test
or
@ValueSource(ints = [4,5,6,7,8])
@ParameterizedTest
fun `4 이상이면 정지`(){
val car = object : Car('jason')
override fun generateRandomNumber(): Int{
return 4
}
}
- ParameterizedTest를 테스트 할 때 argument가 잘 보이도록 하기 위해서
(예시)숫자가 {0} 이라면 자동차는 이동하지 않는다.