전체 글657 [JUnit5] @ParameterizedTest @ParameterizedTest 어노테이션은 테스트 함수에 파라미터로 TC나 결과 등을 주입할 수 있다. // build.gradle.kts dependencies { // add testImplementation("org.junit.jupiter:junit-jupiter-params:5.5.2") } 의존성추가 private fun String?.toIntOrNull(): Int? { return if (this.isNullOrEmpty()) null else try { this.toInt() } catch (e: NumberFormatException) { null } } 테스트를 위와 같은 확장 함수를 하나 만들었다. 문자열이 null이거나 빈 경우 null을 반환하고 아닌 경우 문자열을 Int로.. 2019. 12. 15. [IntellJ] Kotlin 코드를 java 코드로 확인하기 Tools > Kotlin > Show Kotlin Bytecode 클릭 왼쪽에 있던 코틀린으로 작성했던 Board.kt가 오른쪽과 같이 바이트코드화 되어 결과를 확인할 수 있다. 오른쪽 위에 Decompile 버튼을 누르면 위와 같이 java 코드로 확인할 수 있다. 2019. 12. 9. [MockK] JPA repository.save param assert @MockK lateinit var repository: UserRepository @Test fun test() { // given lateinit var result: User every { repository.save(any()) } answers { result = firstArg() // set save argument firstArg() } // when // then assertEquals(result, ...) // save 파라미터로 확인 가능 } @Test fun test() { // given every { repository.save(any()) } returnsArgument(0) // #1 every { repository.save(any()) } returnsArgument 0.. 2019. 12. 9. [Test] webClient 통신 테스트 (mockServer) // build.gradle plugins{ // add testImplementation("org.mock-server:mockserver-netty:5.7.2") } mockserver 의존성 추가 @TestInstance(TestInstance.Lifecycle.PER_CLASS) abstract class MockServerNettyHelper { companion object { val GSON = Gson() } private val host = "http://localhost" private val port = 8000 lateinit var mockServer: ClientAndServer @BeforeAll fun startMockServer() { // #1 mockServer = Cl.. 2019. 12. 8. [leetcode][539] Minimum Time Difference 문제 : https://leetcode.com/problems/minimum-time-difference/ 문자열들을 탐색하면서 ':' 기준으로 시, 분을 나눈다. 시 * 60 + 분 (분으로 변환. 정수형)을 리스트에 저장한다. 리스트를 오름차순 정렬한다. 가장 작은 수에 + 24*60 을 리스트의 가장뒤에 추가한다. 리스트를 앞에서부터 탐색하면서 인접한 분들의 차이를 구하고 이들 중 최소값이 정답이 된다. 시간복잡도는 O(NlogN) 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/easy/1266.%20Minimum%20Time%20Visiting%20All%20Points.py 2019. 12. 8. [leetcode][1266] Minimum Time Visiting All Points 문제 : https://leetcode.com/problems/minimum-time-visiting-all-points/ 두 점 사이의 거리 = | x점 사이의 거리 | + | y점 사이의 거리 | potints를 앞에서부터 탐색하면서 두 점 사이의 거리들의 합을 구하면 정답이 된다. 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/easy/1266.%20Minimum%20Time%20Visiting%20All%20Points.py 이제부터는 파이썬으로 풀도록 노력해봐야겠다. 2019. 12. 7. 이전 1 ··· 68 69 70 71 72 73 74 ··· 110 다음