728x90
반응형
스코프 함수
.run
: 객체에서 특정 작업을 실행하고 마지막 표현식의 결과 반환.- 주로 객체에 대해 임시로 스코프를 확장하여 작업을 수행하거나 체이닝을 간결하게 하기 위해서 사용됨.
?.
연산자로 null-safe하게 작업을 수행.inline fun <T, R> T.run(block: T.() -> R): R
- T: 호출 객체의 타입.
- block: 호출 객체를 수신으로 받아 작업을 수행할 람다.
- R: 람다의 결과 타입으로, .run 함수가 반환됨.
함수 | this 로 접근 |
it 로 접근 |
반환 값 | 주 용도 |
---|---|---|---|---|
run |
O | X | 람다의 결과 | 객체 설정 및 결과 반환 |
let |
X | O | 람다의 결과 | 결과 반환 및 체이닝 |
also |
O | X | 호출 객체 | 추가 작업 수행 및 체이닝 |
apply |
O | X | 호출 객체 | 객체 구성 및 반환 |
with |
O | X | 람다의 결과 | 객체 작업에 집중 |
다수 테스트 객체 생성
val emails = List(3) { index -> base.email.replace("@", "${index + 1}@") }
val expectedResponse = emails.mapIndexed { index, email ->
UserDTO.Response(email, "${base.name}${index + 1}")
}
JPQL mocking
fun <T : Any> update(
init: CustomJpql.() -> JpqlQueryable<UpdateQuery<T>>,
): Int
every {
projectAdPlatformRepository.update(
any<CustomJpql.() -> JpqlQueryable<UpdateQuery<ProjectAdPlatform>>>()
)
} returns 1
728x90
반응형
'Blog > TIL' 카테고리의 다른 글
2025-01-14 (화) (0) | 2025.01.14 |
---|---|
2025-01-13 (월) (1) | 2025.01.13 |
2025-01-09 (목) (0) | 2025.01.09 |
2025-01-08 (수) (0) | 2025.01.08 |
2025-01-07 (화) (0) | 2025.01.07 |
댓글