No iOS 19: Apple Going Straight to iOS 26
MacRumors
요약
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 기술이 우리 일상과 산업 전반에 스며들면서 소프트웨어 개발 환경 역시 큰 변화의 물결을 맞이하고 있다. 특히 코딩을 돕는 AI 에이전트의 등장은 개발 생산성에 대한 큰 변화를 만들고 있다. 나 역시 이러한 변화를 체감하며, 나에게 익숙한 소프트웨어 개발의 대표적인 두 축인 프론트엔드와 백엔드 영역에서 AI 기술이 미치는 영향과 그로 인해 변화하는 소프트웨어 엔지니어의 역할에 대해 개인적인 생각을 정리해 본다.
... 더 보기예술 작품은 작가의 생각을 표현하는 도구다. 따라서, 작가의 의도를 얼마나 잘 담아내고 있느냐가 중요하다. 그 의도를 대중이 몰라줄 수도 있고, 알지만 공감하지 못할 수도 있다. 그래도 괜찮다. 대중의 인정을 받지 못해도 예술성은 사라지지 않는다. 잘 만든 작품으로 남아있을 수 있다.
... 더 보기직장생활은 결국 윗사람과 아랫사람이 나뉠 수밖에 없다. 기업들이 아무리 평등한 관계를 추구한다고 해도, 고용인과 피고용인의 관계마저 사라지는 것은 아니다. 아무리 평등하다 해도 월급 주는 사장님이 을이 될 수는 없지 않은가? 아무리 작은 조직이라도 일을 맡기는 사람과 일을 하는 사람이 존재한다.
... 더 보기“To jobs that pay the rent! 집세 내주는 직장을 위해!” 영화 <악마는 프라다를 입는다>에 나온 대사다. 저널리스트를 꿈꾸는 대학 졸업생인 주인공. 하지만 그녀는 당장 생계를 위한 일자리가 급하다.
... 더 보기