기능을 테스트하는 이 기능은 테스트 목적을 위해 App Engine 개발 웹 서버에서 실행되도록 설계되었습니다. 애플리케이션이 다양한 서비스 상태와 마주할 때 제대로 작동하는지를 확인하기 위해 데이터 저장소, blobstore 등의 서비스 상태를 변경할 수 있습니다. 예를 들어 데이터 저장소 서비스 상태를 중지로 변경함으로써 앱이 데이터 저장소를 사용할 수 없는 상황을 원활하게 처리하는지를 테스트할 수 있습니다.
여러 가지 방법으로 기능 테스트를 사용할 수 있습니다.
콘솔을 사용하여 기능 상태 변경
콘솔에서 기능을 변경하려면 다음을 수행하세요.
- 앱이 개발 서버에서 실행 중인 상태에서 서버의 URL
/_ah/admin
(예: http://localhost:8888/_ah/admin)을 방문하여 콘솔에 액세스합니다. - 콘솔에서 콘솔 왼쪽 하단의 기능 상태를 클릭합니다.
- 기능 상태 구성 페이지에서, 앱이 사용하는 서비스 중에서 상태를 변경할 서비스를 찾습니다. 그런 다음에 해당 서비스 이름 옆의 드롭다운 메뉴를 클릭하고 해당 서비스에 대해 테스트할 상태를 선택합니다.
이제 다음에 앱이 해당 서비스에 액세스할 때 선택된 설정이 반영됩니다. 앱을 실행하고 동작을 관찰합니다.
명령줄을 사용하여 기능 상태 변경
Eclipse를 사용하는 경우에는 디버그 명령줄 옵션을 사용하여 하나 이상의 기능을 설정할 수 있습니다.
Eclipse에서 VM 명령줄 인수를 사용하여 기능 설정을 변경하려면 다음을 수행하세요.
- Eclipse가 열린 상태에서 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭한 후에 다음으로 디버그 > 디버그 구성을 선택합니다.
- 인수 탭으로 이동하고 VM 인수 텍스트 상자에서 원하는 옵션을 입력합니다. 옵션의 형식은 다음과 같습니다.
-Dcapability.status.capabilityname.*=statusname
capabilityname
은 서비스 이름으로 바뀌고(기능(서비스) 이름 참조)statusname
은 사용할 기능 상태로 바뀝니다(기능 상태 값 참조).참고: Datastore 쓰기 기능의 경우
Dcapability.status.datastore_v3.write
와 같이capabilityname
을datastore_v3
로 바꾸고 별표(*
)을write
로 바꿉니다. 다른 기능의 경우에는 별표를 그대로 둡니다.아래의 화면 캡처는 명령줄에서 사용 중지된 두 기능(데이터 저장소 및 이미지)을 보여줍니다.
- 적용을 클릭하여 변경사항을 저장합니다.
- 디버그를 클릭하여 앱을 해당 설정으로 실행합니다.
기능(서비스) 이름
API에서의 기능 이름 | 콘솔에 표시되는 기능 이름 | 설명 |
---|---|---|
blobstore |
BLOBSTORE | blobstore 서비스 |
datastore_v3 |
DATASTORE | 쿼리를 위한 데이터 저장소 서비스 |
datastore_v3,write |
DATASTORE_WRITE | 쓰기 요청을 위한 데이터 저장소 서비스 |
images |
IMAGES | 이미지 서비스 |
mail |
메일 서비스 | |
memcache |
MEMCACHE | Memcache 서비스 |
taskqueue |
TASKQUEUE | 작업 대기열 서비스 |
urlfetch |
URLFETCH | urlfetch 서비스 |
기능 상태 값
모든 기능의 상태 값 | 설명 |
---|---|
DISABLED |
기능이 사용 중지되었습니다. |
ENABLED |
기능을 사용할 수 있으며 현재 계획된 유지관리가 없습니다. |
SCHEDULED_MAINTENANCE |
기능을 사용할 수 있지만 유지관리가 예약되어 있습니다. |
UNKNOWN |
이 서비스의 상태를 알 수 없습니다. |
Capabilities API를 사용하여 기능 상태 변경
API에서 로컬 서비스 기능 테스트를 사용하려면 LocalCapabilitiesServiceTestConfig 클래스를 사용합니다. 자세한 내용 및 코드 샘플은 로컬 서비스 기능 테스트 쓰기를 참조하세요.