'링크모음 > Android' 카테고리의 다른 글
Android code style (0) | 2017.10.30 |
---|---|
Android RecyclerView 팁 모음 (0) | 2017.10.30 |
FCM을 안드로이드(클라이언트)에서 직접 푸시보내기 (0) | 2017.10.25 |
fabric에 오류 보내기 (0) | 2017.10.25 |
안드로이드 클린 아키텍쳐 관련 링크 모음 (0) | 2017.10.24 |
Android code style (0) | 2017.10.30 |
---|---|
Android RecyclerView 팁 모음 (0) | 2017.10.30 |
FCM을 안드로이드(클라이언트)에서 직접 푸시보내기 (0) | 2017.10.25 |
fabric에 오류 보내기 (0) | 2017.10.25 |
안드로이드 클린 아키텍쳐 관련 링크 모음 (0) | 2017.10.24 |
Android RecyclerView 팁 모음 (0) | 2017.10.30 |
---|---|
정보통신망법-준수를-위한-앱-푸시-광고-가이드라인 (0) | 2017.10.25 |
fabric에 오류 보내기 (0) | 2017.10.25 |
안드로이드 클린 아키텍쳐 관련 링크 모음 (0) | 2017.10.24 |
메트리얼 디자인 정리 글 (0) | 2017.10.18 |
정보통신망법-준수를-위한-앱-푸시-광고-가이드라인 (0) | 2017.10.25 |
---|---|
FCM을 안드로이드(클라이언트)에서 직접 푸시보내기 (0) | 2017.10.25 |
안드로이드 클린 아키텍쳐 관련 링크 모음 (0) | 2017.10.24 |
메트리얼 디자인 정리 글 (0) | 2017.10.18 |
Android google todo mvp uml 이미지 (0) | 2017.10.16 |
Google MVP 패턴 추천 리스트 모음
https://github.com/googlesamples/android-architecture
Realm 클린 아키텍쳐 설명
https://academy.realm.io/kr/posts/clean-architecture-in-android/
클린 아키텍쳐 설명
https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html
안드로이드 클린 아키텍쳐 추천 블로그
https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/
안드로이드 클린 아키텍쳐 구조 설명
https://medium.com/@dvd.ciri/android-clean-architecture-project-structure-7a6a0569a495
안드로이드 클린 아키텍쳐 자세한 설명
예제 소스
https://github.com/android10/Android-CleanArchitecture
https://github.com/bufferapp/android-clean-architecture-boilerplate
https://github.com/vpaliyX/Melophile
https://github.com/armcha/Ribble (코틀린 소스)
안드로이드 클린 아키텍쳐 보일러 플라이트 소스
https://github.com/dmilicic/Android-Clean-Boilerplate
FCM을 안드로이드(클라이언트)에서 직접 푸시보내기 (0) | 2017.10.25 |
---|---|
fabric에 오류 보내기 (0) | 2017.10.25 |
메트리얼 디자인 정리 글 (0) | 2017.10.18 |
Android google todo mvp uml 이미지 (0) | 2017.10.16 |
android 클린 아키텍쳐 모음 (0) | 2017.10.15 |
fabric에 오류 보내기 (0) | 2017.10.25 |
---|---|
안드로이드 클린 아키텍쳐 관련 링크 모음 (0) | 2017.10.24 |
Android google todo mvp uml 이미지 (0) | 2017.10.16 |
android 클린 아키텍쳐 모음 (0) | 2017.10.15 |
WeakReference 와 SoftReference 차이점 (0) | 2017.09.27 |
안드로이드 클린 아키텍쳐 관련 링크 모음 (0) | 2017.10.24 |
---|---|
메트리얼 디자인 정리 글 (0) | 2017.10.18 |
android 클린 아키텍쳐 모음 (0) | 2017.10.15 |
WeakReference 와 SoftReference 차이점 (0) | 2017.09.27 |
안드로이드 디버깅 툴 총정리 (0) | 2017.09.27 |
클린 아키텍쳐상에서 RxJava 적용
https://fernandocejas.com/2015/07/18/architecting-android-the-evolution/
메트리얼 디자인 정리 글 (0) | 2017.10.18 |
---|---|
Android google todo mvp uml 이미지 (0) | 2017.10.16 |
WeakReference 와 SoftReference 차이점 (0) | 2017.09.27 |
안드로이드 디버깅 툴 총정리 (0) | 2017.09.27 |
포토샵에서 이미지를 안드로이드 레이아웃 형식으로 넣기 (0) | 2017.09.14 |
Android google todo mvp uml 이미지 (0) | 2017.10.16 |
---|---|
android 클린 아키텍쳐 모음 (0) | 2017.10.15 |
안드로이드 디버깅 툴 총정리 (0) | 2017.09.27 |
포토샵에서 이미지를 안드로이드 레이아웃 형식으로 넣기 (0) | 2017.09.14 |
Android , View component 설계 및 내용 (0) | 2017.09.12 |
android 클린 아키텍쳐 모음 (0) | 2017.10.15 |
---|---|
WeakReference 와 SoftReference 차이점 (0) | 2017.09.27 |
포토샵에서 이미지를 안드로이드 레이아웃 형식으로 넣기 (0) | 2017.09.14 |
Android , View component 설계 및 내용 (0) | 2017.09.12 |
TDD 흐름도 (0) | 2017.09.08 |
WeakReference 와 SoftReference 차이점 (0) | 2017.09.27 |
---|---|
안드로이드 디버깅 툴 총정리 (0) | 2017.09.27 |
Android , View component 설계 및 내용 (0) | 2017.09.12 |
TDD 흐름도 (0) | 2017.09.08 |
안드로이드 소스 모음 사이트 (0) | 2017.09.03 |
안드로이드 디버깅 툴 총정리 (0) | 2017.09.27 |
---|---|
포토샵에서 이미지를 안드로이드 레이아웃 형식으로 넣기 (0) | 2017.09.14 |
TDD 흐름도 (0) | 2017.09.08 |
안드로이드 소스 모음 사이트 (0) | 2017.09.03 |
Mockito and PowerMockito 요약 (0) | 2017.09.02 |
포토샵에서 이미지를 안드로이드 레이아웃 형식으로 넣기 (0) | 2017.09.14 |
---|---|
Android , View component 설계 및 내용 (0) | 2017.09.12 |
안드로이드 소스 모음 사이트 (0) | 2017.09.03 |
Mockito and PowerMockito 요약 (0) | 2017.09.02 |
Dagger2 + Junit 테스트 (1) | 2017.09.02 |
꽤 괜찮은 것 많네요.
Android , View component 설계 및 내용 (0) | 2017.09.12 |
---|---|
TDD 흐름도 (0) | 2017.09.08 |
Mockito and PowerMockito 요약 (0) | 2017.09.02 |
Dagger2 + Junit 테스트 (1) | 2017.09.02 |
코틀린 dagger2 (0) | 2017.09.02 |
출처 : https://raseshmori.wordpress.com/2015/01/07/mockito-and-power-mockito-cheatsheet/
@RunWith(PowerMockRunner.class) – Tell Junit that run this test using PowerMockRunner
@PrepareForTest(A.class) – This is needed when we need to test static methods of A class
AService mock = PowerMockito.mock(A.class) – Creating a mock for A class
PowerMockito.when(mock.mockedMethod()).thenReturn(value) – When mockedMethod is called in the code, then return the value specified here.
PowerMockito.doNothing().when(mock).method() – do nothing when method() is called on mock object
Mockito.verify(mock).someMethod() – Verify that someMethod was called on mock once.
Mockito.verify(mock, times(n)).someMethod() – someMethod called n number of times
Mockito.verify(mock, never()).someMethod() – someMethod called n number of times
Mockito.verify(mock, atLeastOnce()).someMethod() – self explanatory
Mockito.verify(mock, atLeast(n)).someMethod() – self explanatory
Mockito.verify(mock, atMost(n)).someMethod() – self explanatory
Static
PowerMockito.mockStatic(A.class) – mock all static methods of class A
PowerMockito.doNothing().when(A.class)
A.staticMethod(value); – Nothing to be done when staticMethod(value) is called on class A
PowerMockito.doNothing().doThrow(new IllegalStateException()).when(A.class)
A.staticMethod(value); – Throw IllegalStateException when staticMethod(value) is called on class A
//We first have to inform PowerMock that we will now verify
//the invocation of a static method by calling verifyStatic.
PowerMockito.verifyStatic();
//Then we need to inform PowerMock about the method we want to verify.
//This is done by actually invoking the static
A.staticMethod();
@Before – annotation for a method that does the set up before starting the test.
InOrder verification
//First we have to let PowerMock know that the verification order is
//going to be important. This is done by calling Mockito.inOrder and passing
//it the mocked object.
InOrder inOrder = Mockito.inOrder(mock);
//Next, we can continue our verification using the inOrder instance
//using the same technique as seen earlier.
inOrder.verify(mock).isNew();
inOrder.verify(mock).update();
inOrder.verify(mock, Mockito.never()).create();
Constructor
PowerMockito.whenNew(A.class).withArguments(mock, “msg”).thenReturn(object)
PowerMockito.verifyNew(A.class).withArguments(mock, “msg”)
PowerMockito.verifyNew(A.class, times(n)).withArguments(mock, “msg”)
The class creating an object of A will be needed to be in @PrepareForTest
Matchers
PowerMockito.when(mock.method(Mockito.startsWith(“somestring”))).thenReturn(objValue);
Assert.assertSame(objValue, mock.method(“somestring123”));
Assert.assertSame(objValue, mock.method(“somestring456”));
PowerMockito.when(mock.method(Mockito.argThat(new ArgumentMatcher){public void matches(Object obj)….}).thenReturn(value); – Use the custom matcher to match the argument and return the value specified.
Mockito.eq(value)
Mockito.matches(regex)
Mockito.anyString, anyFloat, anyDouble, anyList, and so on
Mockito.isNull
Mockito.isNotNull
Mockito.isA
Mockito.endsWith
Answer Interface
When thenReturn() is not practical, use Answer interface
PowerMockito.when(mock.method()).then(new Answer<T>() {
public T answer(InvocationOnMock invocation) {
…invocation.getArguments()….
}
});
PowerMockito.mock(A.class, Answer obj) – This will act as default answer for all the invocation on this mock object.
Spy – Partial Mocking (some methods) of classes
//Following is the syntax to create a spy using the PowerMockito.spy method.
//Notice that we have to pass an actual instance of the EmployeeService class.
//This is necessary since a spy will only mock few methods of a class and
//invoke the real methods for all methods that are not mocked.
final EmployeeService spy = PowerMockito.spy(new EmployeeService());
//Notice that we have to use the PowerMockito.doNothing().when(spy).createEmployee()
//syntax to create the spy. This is required because if we use the
//PowerMockito.when(spy.createEmployee()) syntax will result in calling
//the actual method on the spy.
//Hence, remember when we are using spies,
//always use the doNothing(), doReturn() or the //doThrow() syntax only. PowerMockito.doNothing().when(spy)
.createEmployee(employeeMock);
Mocking private methods
PowerMockito.doNothing().when(spy,
“createEmployee”, employeeMock);
PowerMockito.verifyPrivate(spy)
.invoke(“createEmployee”, employeeMock);
TDD 흐름도 (0) | 2017.09.08 |
---|---|
안드로이드 소스 모음 사이트 (0) | 2017.09.03 |
Dagger2 + Junit 테스트 (1) | 2017.09.02 |
코틀린 dagger2 (0) | 2017.09.02 |
Android Junit 테스트 링크 모음 (0) | 2017.09.01 |
안드로이드 소스 모음 사이트 (0) | 2017.09.03 |
---|---|
Mockito and PowerMockito 요약 (0) | 2017.09.02 |
코틀린 dagger2 (0) | 2017.09.02 |
Android Junit 테스트 링크 모음 (0) | 2017.09.01 |
Android Junit MVP + RxJava (0) | 2017.09.01 |
Mockito and PowerMockito 요약 (0) | 2017.09.02 |
---|---|
Dagger2 + Junit 테스트 (1) | 2017.09.02 |
Android Junit 테스트 링크 모음 (0) | 2017.09.01 |
Android Junit MVP + RxJava (0) | 2017.09.01 |
안드로이드 인스턴트앱 개발 참고 링크모음 (0) | 2017.08.31 |
http://www.vogella.com/tutorials/Mockito/article.html
Mockito 설명
https://static.javadoc.io/org.mockito/mockito-core/2.9.0/org/mockito/Mockito.html <- 원문
https://github.com/mockito/mockito/wiki/Mockito-features-in-Korean <- 번역본
Dagger2 + Mock 활용
android + Mock
http://bestalign.github.io/2016/07/08/intro-mockito-1/
android + BDD 테스트 방법론 예제
https://content.pivotal.io/blog/simple-bdd-android-testing-with-robolectric
assertThat 사용법
http://sejong-wiki.appspot.com/assertThat
Android + Moc + BDD
https://medium.com/@manuelvicnt/android-79549fcb2283
Android + RxJava2
https://www.infoq.com/articles/Testing-RxJava2
https://medium.com/@fabioCollini/testing-asynchronous-rxjava-code-using-mockito-8ad831a16877
etc
Dagger2 + Junit 테스트 (1) | 2017.09.02 |
---|---|
코틀린 dagger2 (0) | 2017.09.02 |
Android Junit MVP + RxJava (0) | 2017.09.01 |
안드로이드 인스턴트앱 개발 참고 링크모음 (0) | 2017.08.31 |
Google AR 링크 정리 (0) | 2017.08.30 |
코틀린 dagger2 (0) | 2017.09.02 |
---|---|
Android Junit 테스트 링크 모음 (0) | 2017.09.01 |
안드로이드 인스턴트앱 개발 참고 링크모음 (0) | 2017.08.31 |
Google AR 링크 정리 (0) | 2017.08.30 |
이미지 프로세싱 튜터리어ㄹ (0) | 2017.08.30 |
AIA 공식 문서
https://developer.android.com/topic/instant-apps/index.html
AIA 개발적용한 예제 대표 사이트 소개
https://developers-kr.googleblog.com/2017/08/500-million-devices-now-supported-for.html?m=1
AIA 디자인 가이드
https://developer.android.com/topic/instant-apps/ux-best-practices.html
관련 해외 참고 자료
https://medium.com/vimeo-engineering-blog/vimeo-android-instant-apps-2f8b1e94760c
http://tech.domain.com.au/2017/06/making-the-domain-android-app-instant-%E2%9A%A1/
AIA tourtrial
https://willowtreeapps.com/ideas/an-introduction-to-android-instant-apps
Android Junit 테스트 링크 모음 (0) | 2017.09.01 |
---|---|
Android Junit MVP + RxJava (0) | 2017.09.01 |
Google AR 링크 정리 (0) | 2017.08.30 |
이미지 프로세싱 튜터리어ㄹ (0) | 2017.08.30 |
Android 에 dependencies 최신버전 인지 확인 방법 (0) | 2017.08.28 |
관련기사
Google Ar GitHub
Google Ar Android tutorial
https://developers.google.com/ar/develop/java/getting-started
Google AR 설명
Android Junit MVP + RxJava (0) | 2017.09.01 |
---|---|
안드로이드 인스턴트앱 개발 참고 링크모음 (0) | 2017.08.31 |
이미지 프로세싱 튜터리어ㄹ (0) | 2017.08.30 |
Android 에 dependencies 최신버전 인지 확인 방법 (0) | 2017.08.28 |
구글 스피치api 제작 (0) | 2017.08.27 |
안드로이드 인스턴트앱 개발 참고 링크모음 (0) | 2017.08.31 |
---|---|
Google AR 링크 정리 (0) | 2017.08.30 |
Android 에 dependencies 최신버전 인지 확인 방법 (0) | 2017.08.28 |
구글 스피치api 제작 (0) | 2017.08.27 |
챗봇 만들기 (0) | 2017.08.27 |
Google AR 링크 정리 (0) | 2017.08.30 |
---|---|
이미지 프로세싱 튜터리어ㄹ (0) | 2017.08.30 |
구글 스피치api 제작 (0) | 2017.08.27 |
챗봇 만들기 (0) | 2017.08.27 |
datBinding 작동방식 (0) | 2017.08.27 |
이미지 프로세싱 튜터리어ㄹ (0) | 2017.08.30 |
---|---|
Android 에 dependencies 최신버전 인지 확인 방법 (0) | 2017.08.28 |
챗봇 만들기 (0) | 2017.08.27 |
datBinding 작동방식 (0) | 2017.08.27 |
안드로이드 주가적인 실행 방법 (0) | 2017.08.27 |
Android 에 dependencies 최신버전 인지 확인 방법 (0) | 2017.08.28 |
---|---|
구글 스피치api 제작 (0) | 2017.08.27 |
datBinding 작동방식 (0) | 2017.08.27 |
안드로이드 주가적인 실행 방법 (0) | 2017.08.27 |
안드로이드 30가지 작지만 유용한 개발팁 (0) | 2017.08.27 |
구글 스피치api 제작 (0) | 2017.08.27 |
---|---|
챗봇 만들기 (0) | 2017.08.27 |
안드로이드 주가적인 실행 방법 (0) | 2017.08.27 |
안드로이드 30가지 작지만 유용한 개발팁 (0) | 2017.08.27 |
이펙티브 자바를 안드로이드에 적용 (0) | 2017.08.27 |
챗봇 만들기 (0) | 2017.08.27 |
---|---|
datBinding 작동방식 (0) | 2017.08.27 |
안드로이드 30가지 작지만 유용한 개발팁 (0) | 2017.08.27 |
이펙티브 자바를 안드로이드에 적용 (0) | 2017.08.27 |
앱스토어,구글플레이에 소개 디자인 자동 생성툴(웹) (0) | 2017.08.25 |
datBinding 작동방식 (0) | 2017.08.27 |
---|---|
안드로이드 주가적인 실행 방법 (0) | 2017.08.27 |
이펙티브 자바를 안드로이드에 적용 (0) | 2017.08.27 |
앱스토어,구글플레이에 소개 디자인 자동 생성툴(웹) (0) | 2017.08.25 |
안드로이드 O의 새로운 기능 정리 링크 (0) | 2017.08.25 |
안드로이드 주가적인 실행 방법 (0) | 2017.08.27 |
---|---|
안드로이드 30가지 작지만 유용한 개발팁 (0) | 2017.08.27 |
앱스토어,구글플레이에 소개 디자인 자동 생성툴(웹) (0) | 2017.08.25 |
안드로이드 O의 새로운 기능 정리 링크 (0) | 2017.08.25 |
Android In-App Purchase Validation (0) | 2017.08.23 |
안드로이드 30가지 작지만 유용한 개발팁 (0) | 2017.08.27 |
---|---|
이펙티브 자바를 안드로이드에 적용 (0) | 2017.08.27 |
안드로이드 O의 새로운 기능 정리 링크 (0) | 2017.08.25 |
Android In-App Purchase Validation (0) | 2017.08.23 |
Google for Mobile 2017 (0) | 2017.08.23 |
안드로이드 O의 새로운 기능 정리 링크
https://academy.realm.io/kr/posts/android-oreo-new-features/
이펙티브 자바를 안드로이드에 적용 (0) | 2017.08.27 |
---|---|
앱스토어,구글플레이에 소개 디자인 자동 생성툴(웹) (0) | 2017.08.25 |
Android In-App Purchase Validation (0) | 2017.08.23 |
Google for Mobile 2017 (0) | 2017.08.23 |
splash 화면 올바르게 구현 (0) | 2017.08.21 |