@SmallTest, @Medium의 목적은 무엇입니까?Android에서 테스트 및 @LargeTest 주석을 사용하시겠습니까?
Android를 처음 사용하는데, 이 주석을 사용한 예제 코드를 본 적이 있습니다.예를 들어 다음과 같습니다.
@SmallTest
public void testStuff() {
TouchUtils.tapView(this, anEditTextView);
sendKeys("H E L P SPACE M E PERIOD");
assertEquals("help me.", anEditTextView.getText().toString());
}
그 주석은 무엇을 달성합니까?
이 블로그 게시물이 가장 잘 설명해 줍니다.기본적으로 다음과 같습니다.
- 소형: 이 테스트는 파일 시스템 또는 네트워크와 상호 작용하지 않습니다.
- 매체: 테스트를 실행 중인 상자에서 파일 시스템에 액세스합니다.
- Large: 외부 파일 시스템, 네트워크 등에 액세스합니다.
Android Developers 블로그에 따르면 소규모 테스트는 100밀리초 미만, 중간 테스트는 2초 미만, 대규모 테스트는 120초 미만이어야 합니다.
azizbekian의 답변은 테스트를 실행할 때 주석을 사용하는 방법을 보여줍니다.
또한 이 오래된 페이지에는 더 많은 정보가 있습니다.구체적으로는,am instrument을 가지고 놀다.adb shell관련 부분은 다음과 같습니다.
am 계측기 옵션
그am instrument툴이 테스트 옵션을 전달합니다.InstrumentationTestRunner또는 -e 플래그를 사용하여 다음 구문을 사용하여 키와 값의 페어 형식의 서브클래스를 지정합니다.
-e <key> <value>
여러 값을 사용할 수 있는 키도 있습니다.쉼표로 구분된 목록에서 여러 값을 지정합니다.예를 들어, 이 호출은InstrumentationTestRunner에 복수의 값을 나타냅니다.package키:
$ adb shell am instrument -w -e package com.android.test.package1,com.android.test.package2 \
> com.android.test/android.test.InstrumentationTestRunner
다음 표에서는 키와 값의 쌍과 그 결과에 대해 설명합니다.표 뒤에 있는 사용상의 주의사항을 확인해 주세요.
| 열쇠 | 가치 | 묘사 |
|---|---|---|
| 크기 | [작은 | 중간 | 큰 ] | 크기별로 주석이 달린 테스트 방법을 실행합니다.주석은 @SmallTest, @Medium입니다.테스트 및 @LargeTest. |
따라서 위의 내용을 읽으면 다음과 같은 작은 테스트를 지정할 수 있습니다.
$ adb shell am instrument -w \
> -e package com.android.test.package1,com.android.test.package2 \
> -e size small \
> com.android.test/android.test.InstrumentationTestRunner
Davidann의 답변과 주로 OP의 코멘트 질문에 덧붙여 다음과 같이 답합니다.
위의 코드와 관련하여 다른 개발자에게 메모를 남기는 것 외에 실제로 어떤 작업을 수행합니까?강제하는 게 있나요?이 주석을 활용한 툴이 있습니까?안드로이드 개발의 목적은 무엇입니까?
특정 주석으로 주석이 달린 테스트 그룹을 실행할 수 있습니다.
특정 크기의 테스트 실행(Small Test 또는 Medium 주석 포함)테스트 또는 대규모 테스트:
adb shell am instrument - w - e size [ small | medium | large ]com . Android . foo / Android . support . test . runner . Android JUnit Runner
그라들을 통해 이러한 매개 변수를 설정할 수도 있습니다.
android {
...
defaultConfig {
...
testInstrumentationRunnerArgument 'size', 'Large'
}
}
그라들 경유:
-Pandroid.testInstrumentationRunnerArguments.size=small
자세한 내용은 Doug Stevenson 블로그 게시물 및 이 블로그 게시물을 참조하십시오.
에 POJO를 사용하여 을 달 .@Category(MediumTest.class) ★★★★★★★★★★★★★★★★★」@Category(LargeTest.class)독자적인 카테고리를 정의함으로써 등 - 예에 대해서는 test-categories repo를 참조해 주십시오.
언급URL : https://stackoverflow.com/questions/4671923/what-is-the-purpose-of-smalltest-mediumtest-and-largetest-annotations-in-an
'programing' 카테고리의 다른 글
| Django에서 manage.py CLI를 사용하여 데이터베이스에서 모든 테이블을 삭제하려면 어떻게 해야 합니까? (0) | 2023.02.03 |
|---|---|
| 여러 Vue 애플리케이션, 여러 엔트리 파일, 동일한 Vuex/Vue3 Compostition Api 스토어 [반응성 상실] (0) | 2023.02.03 |
| 가비지 컬렉션이 문제가 될 경우 Spring Batch가 프로그램이 9400만 건의 트랜잭션을 중지하는 것을 막을 수 있습니까? (0) | 2023.02.03 |
| PHP에서 if 문을 깨는 방법은 없나요? (0) | 2023.02.03 |
| MySQL: 페이지란? (0) | 2023.02.03 |
