Android에서 @SmallTest, @MediumTest 및 @LargeTest 주석의 목적은 무엇입니까?


99

저는 Android를 처음 사용하며 이러한 주석을 사용하는 예제 코드를 보았습니다. 예를 들면 :

@SmallTest
public void testStuff() {
    TouchUtils.tapView(this, anEditTextView);
    sendKeys("H E L P SPACE M E PERIOD");
    assertEquals("help me.", anEditTextView.getText().toString());
}

그 주석은 무엇을 성취합니까?

답변:


9

에 추가로 Davidann의 대답은 주로 영업 이익의 질문 주석의 :

위의 코드의 맥락에서, 실제로 않습니다 DO 휴가를 제외하고 다른 개발자를위한 메모 아무것도? 어떤 것을 강요합니까? 이 주석을 활용하는 도구가 있습니까? Android 개발의 목적은 무엇입니까?

특정 주석으로 주석이 달린 테스트 그룹을 실행할 수 있습니다.

에서 AndroidJUnitRunner 문서 :

특정 테스트 크기 실행, 즉 SmallTest 또는 MediumTest 또는 LargeTest로 주석 처리 :

adb shell am instrument -w -e size [small | medium | large] com.android.foo/android.support.test.runner.AndroidJUnitRunner

gradle을 통해 해당 매개 변수를 설정할 수도 있습니다.


    android {
        ...
        defaultConfig {
            ...
            testInstrumentationRunnerArgument 'size', 'Large'
        }
    }

Gradle을 통해 :

-Pandroid.testInstrumentationRunnerArguments.size=small

참조 더그 스티븐슨은 포스트 블로그 뿐만 아니라 이 블로그 게시물 자세한 내용을.


좋아, 간단히 말해서 @SmallTest 테스트 스위트 만 실행할 수 있습니다 adb shell am instrument -w -e size small com.android.foo/android.support.test.runner.AndroidJUnitRunner. 감사합니다
kosiara-Bartosz Kosarzycki

gradle 명령에서 주석을 어떻게 지정합니까? 예를 들면 다음과 같습니다../gradlew connectedDebugAndroidTest -size MediumTest
Mr-IDE

@ Mr-IDE, 답을 얻었습니까?
요한

138

이 블로그 게시물은이를 가장 잘 설명합니다. 기본적으로 다음과 같습니다.

테스트 차트

  1. 소규모 :이 테스트는 파일 시스템이나 네트워크와 상호 작용하지 않습니다.
  2. 중간 : 테스트를 실행하는 상자의 파일 시스템에 액세스합니다.
  3. Large : 외부 파일 시스템, 네트워크 등에 액세스합니다.

안드로이드 개발자 블로그 , 작은 시험은, <중간 시험 <2 초, 큰 시험 <120S를 100ms로 소요됩니다.

실행할 테스트를 지정하는 방법 은 이 페이지 ( "@SmallTest"검색)를 참조하십시오 .


13
나는 (그리고 지난달에 그 기사를 읽었던 것을 기억한다). 그러나 위 코드의 맥락에서 실제로 다른 개발자에게 메모를 남기는 것 외에 다른 작업을 수행합니까? 어떤 것을 강요합니까? 이 주석을 활용하는 도구가 있습니까? Android 개발의 목적은 무엇입니까?
Eric Palakovich Carr 2011 년

3
@Eric Android TestRunner를 사용하면 실행할 테스트 크기를 지정할 수 있습니다.
Cheryl Simon

7
이 문제에 대한 Google의 최신 블로그가 있습니다. plus.google.com/+AndroidDevelopers/posts/TPy1EeSaSg8
k29

1
@SmallTest는 더 이상 사용되지 않습니다
Neon

1
@NeonWarge use import android.support.test.filters. [Small] Test;
Alexander Sidikov Pfeif

1

자신의 카테고리 를 정의하여 @Category(MediumTest.class)또는 @Category(LargeTest.class)등으로 POJO 단위 테스트에 주석을 달 수도 있습니다 . 예제 는 test-categories 저장소를 참조하세요.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.