2022/05 2

mockk 간단 사용법

https://mockk.io/ MockK Provides DSL to mock behavior. Built from zero to fit Kotlin language. Supports named parameters, object mocks, coroutines and extension function mocking mockk.io mock 객체 생성하기 val domainRepository = mockk() Argument Matching 사용하기 특정 객체에 expected answer를 부여할때 파라미터를 지정해주어야 한다. matcher는 다음과 같은 느낌으로 동작한다 // 들어오는 파라미터가 1L 일때만 cycle을 반환 every { domainRepository.findById(1L) } r..

이펙티브 코틀린 간단 정리 (Effective Kotlin)

잘 몰랐거나, 인상깊은 부분 위주로만 정리 1장 안정성 안정성 : 크래시가 적으면 사용자와 개발자 모두에게 좋고, 상당한 비즈니스 가치를 제공한다. Item 1. 가변성을 제한하라 시간의 변화에 따라서 변하는 요소를 표현할 수 있다는 것은 유용하지만, 상태를 적절하게 관리하는 것이 생각보다 꽤 어렵다. 프로그램을 이해하고 디버그하기 힘들어진다. 시점에 따라 값이 달라질 수 있기 때문에 코드의 실행을 추론하기 어려워진다. 멀티스레드 프로그램일 때는 적절한 동기화가 필요하다. 테스트하기 어렵다. 상태 변경이 일어날 때 이러한 변경을 다른 부분에 알려야 하는 경우가 있다. 가변성은 시스템의 상태를 나타내기 위한 주요한 방법이다. 하지만, 변경이 일어나야 하는 부분을 신중하고 확실하게 결정하고 사용해야 한다. ..