IDE - 이클립스
* Android Test 프로젝트 만드는 순서
1. 안드로이드 프로젝트 생성
2. 안드로이드 테스트 프로젝트 생성
3. 테스트 프로젝트에서 JUnit case 생성
* 테스트 어노테이션 ( 무슨말인지 모르겠다)
@SmallTest : Small 테스트 분류로 실행되는 테스트라고 명시한다.
@MediumTest : Medium 테스트 분류로 실행되는 테스트라고 명시한다.
@LargeTest : Large 테스트 분류로 실행되는 테스트라고 명시한다.
@Smoke : 스모크 테스트 분류로 실행되는 테스트라고 명시한다.
@FlakyTest : InstrumentationTestCase 클래스의 테스트 메서드에서 사용. 이 어노테이션이 명시된 테스트가 실패하면 테스트 메서드가 다시 실행된다. 실패에 의한 재실행 횟수는 임의로 정할 수 있으며 기본값은 1이다. 보통 예측하기 힘든 외부 요인으로 인해 실패하는 변덕스러운 테스트에 유용하다.
예를 들어 재실행 횟수를 4로 설정 하려면 @FlakyTest(tolerance=4)
@UiThreadTest : nstrumentationTestCase 클래스의 테스트 메서드에서 사용. 메인 쓰레드에서 실행
@Suppress : 이 어노테이션이 사용된 클래스나 매서드는 테스트에 포함되지 않는다.
* 테스트 프로젝트에서 AndroidManifest.xml 에서 Instrumentation에 Label에 이름을 줄 수 잇다.
* 커맨드라인에서 테스트 실행
1. am(Activity Manager) instrument 명령어
am instrument [flags] <COMPONENT>
-r: print raw results (otherwise decode REPORT_KEY_STREAMERESULT)
-e <NAME> <VALUE>: set argument <NAME> to <VALUE>
-p <FILE>: write profiling data to<FILE>
-w: wait for instrumentation to finish before returning
2. 각 옵션에 대한 설명
-r : 결과를 모두 출력. 성능 측정을 위한 자료수집에 유용
-e <NAME> <VALUE> : Name을 Value로 설정한다. 일반적으로 인자는 <name, value> 쌍이다.
-p <FILE> : 측정 데이터를 외부 파일에 저장한다.
-w : 종료하기 전에 측정기능이 끝나기를 기다린다. 보통 이 옵션을 쓰지 않으면 테스트 결과를 볼 수 없으므로 필수는 아니지만 꽤 유용하다.
* 종류별로 특정 테스트 실행
-e unit true : 단위테스트 모두 수행
-e func true : 기능 테스트 모두 수행.
-e perf true : 성능 테스트를 함께 실행한다.
-e size {small | medium | large} : 테스트 어노테이션에 따라서, small, medium, large 분류의 테스트를 실행한다.
-e annotation <annotation-name> : 해당 어노테이션 분류에 속한 모든 테스트를 실행한다. 이 옵션은 size 옵션과 같이 사용 할 수 없다.
* 사용자 정의 어노테이션 생성
/**
* Annotation for very important tests.
*
* @author diego
*
* */
public @interface VeryImportantTest {
}
'android' 카테고리의 다른 글
[android]Test 공부중5. MOCK 객체 (0) | 2015.01.12 |
---|---|
[android]Test 공부중4. (0) | 2015.01.07 |
[android]Task 관련 공부중1 (0) | 2015.01.07 |
[android]Test 공부중3. (0) | 2015.01.06 |
[android]Test 공부중. (0) | 2015.01.06 |