Programming Language/Kotlin

Programming Language/Kotlin

assertj > 에러 메시지의 일부만 맞아도 테스트 통과

테스트가 실패했다.Expecting message to be:  "유효하지 않은 타입입니다."but was:  "유효하지 않은 타입입니다. 사용 가능한 타입: [A, B, C]"에러 타입은 아래와 같이 정의되어 있었다.import org.springframework.http.HttpStatusenum class ExceptionType( val message: String) { BUSINESS_ERROR_01_TYPE("유효하지 않은 타입입니다"),} 에러를 사용하는 곳에서는 아래와 같이, 에러 메시지 뒤에 추가적인 정보를 붙여 expection을 발생시키고 있었다.if (type == Type.UNKNOWN) { throw BusinessRuleException( ..

Programming Language/Kotlin

Corutine 환경에서 API Delay 주가

외부에서 코루틴(Coroutine) 환경으로 구성된 우리 api를 호출하면, 의도적으로 지연을 주고 싶었다.@PostMapping("/data")suspend fun getData(@RequestBody requestContext: RequestContext): ResponseEntity { val response: Response = getSomething(requestContext.domain) if (somthing is true) { Thread.sleep(3000) } return ok(response)}이랬는데 IntelliJ에서 warning을 내뿜었다.sleep을 걸 경우 thread starvation이 발생할 수 있는..

Programming Language/Kotlin

return when - unreachable code

return과 when을 조합해서 사용하던 중 idea에서 아래와 같은 문구를 보여줬다. fun something(num: Int) : String { return when(num) { 1 -> return "1" 2 -> return "2" 3 -> return "3" else -> return "nothing" } } return에 Unreachable code라고 나타나버린 것. 해결방법은 간단했다. when 외부의 return을 제거하던가 when 내부의 return을 제거하던가. return이 중복으로 들어가서 발생하는 문제였다. fun something(num: Int) : String { when(num) { 1 -> return "1" 2 -> return "2" 3 -> return "3..

떼루르르
'Programming Language/Kotlin' 카테고리의 글 목록