CSS Custom Highlight API - Web APIs | MDN
MDN Web Docs
요약
kotlin 에서 인기를 얻고 있는 mockk test libary 를 java 에서 써보려고 시도한 내용을 남김
WHY
java 환경 유지 필요
kotlin compile은 너무 느려요
mockito vs mockk (Like!!!)
relaxed mocking 의 편리함 ( but 주의해서 사용 필요)
HOW
mockk wrapper 를 abstract kotlin class 로 생성 후 compile 된 library 형태로 사용
retrofit 등 kotlin code를 활용하는 라이브러리와 비슷한 느낌...
경과
정확한 인자를 사용하면 every, verify 사용가능 ( any() 는 아직 대체 방법을 찾지 못함)
relaxed mock? yes
mock method chaining?
just runs support?
static method mocking?
verify exactly ?
every answers andThenAnswer ?
의견
아직까지는 활용하기 어렵네..
example
MockkForJavaPocTest.java
@ExtendWith(MockKExtension.class)
class MockkForJavaPocTest extends MockKForJava {
@InjectMockk
private Subject subject;
@Mockk(relaxed = true)
private SubComponent sub;
@Test
void test() {
// given
givenK(() -> sub.call("hello"), "-mock-return");
// when
String result = subject.call("hello");
// then
assertThat(result).isEqualTo("hello");
verifyK(() -> sub.call("hello-mock-return"));
}
static class Subject {
private final SubComponent sub;
public Subject(SubComponent sub){ this.sub = sub; }
public String call(String arg) { return arg + sub.subCall(arg); }
}
static class SubComponent {
String subCall(String arg){ return arg; }
}
}
implementation (trying)
MockKForJava.kt
open class MockKForJava {
fun givenK(fn: ()-> Any, ret: Any) {
every { fn() } returns ret
}
fun givenK(fn: ()-> Void) {
justRun { fn() }
}
fun veirifyK(fn: ()-> Any) {
verify{ fn() }
}
}
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 9월 4일 오후 3:19
디자인패턴, 리팩토링, 클린 아키텍처 등등의 책들은 전공서적 보듯이 보는게 아니라 추리소설 보듯이 보는 것임. 이런 책은 추리소설처럼 일부 논리적으로 사고 할 수 있는 능력을 길러주긴 하지만, 기본적으로는 재미로 보는 것임. 경험적인 정보이지 과학적인 지식이 아님을 명심해야 함.
며칠 전, 우아한형제들 임동준 님의 유튜브 영상을 보다 마음에 들어오는 메시지를 들었다. 영상은 AI에 대한 이야기였지만, 그 과정에서 나온 이 조언이 더 깊게 남았다.
... 더 보기"
... 더 보기