본문 바로가기
Back-End (web)

[MockK] JPA repository.save param assert

by 햄과함께 2019. 12. 9.
320x100
@MockK
lateinit var repository: UserRepository

@Test
fun test() {
  // given
  lateinit var result: User
  every { repository.save(any<User>()) } answers {
	result = firstArg() // set save argument
    firstArg()
  }
  
  // when
  
  // then
  assertEquals(result, ...) // save 파라미터로 확인 가능
}

@Test
fun test() {
  // given
  every { repository.save(any<User>()) } returnsArgument(0) // #1
  every { repository.save(any<User>()) } returnsArgument 0 // #2
  
  // #1, #2 모두 같은 표현
}

mocking한 함수의 파라미터를 위와 같은 방법으로 가져오거나 세팅할 수 있다.

 

참고 : https://mockk.io/

320x100

댓글