기능 서비스 테스트 구성

기능을 테스트하는 이 기능은 테스트 목적을 위해 App Engine 개발 웹 서버에서 실행되도록 설계되었습니다. 애플리케이션이 다양한 서비스 상태와 마주할 때 제대로 작동하는지를 확인하기 위해 데이터 저장소, blobstore 등의 서비스 상태를 변경할 수 있습니다. 예를 들어 데이터 저장소 서비스 상태를 중지로 변경함으로써 앱이 데이터 저장소를 사용할 수 없는 상황을 원활하게 처리하는지를 테스트할 수 있습니다.

여러 가지 방법으로 기능 테스트를 사용할 수 있습니다.

콘솔을 사용하여 기능 상태 변경

콘솔에서 기능을 변경하려면 다음을 수행하세요.

  1. 앱이 개발 서버에서 실행 중인 상태에서 서버의 URL /_ah/admin(예: http://localhost:8888/_ah/admin)을 방문하여 콘솔에 액세스합니다.
  2. 콘솔에서 콘솔 왼쪽 하단의 기능 상태를 클릭합니다.
  3. 기능 상태 구성 페이지에서, 앱이 사용하는 서비스 중에서 상태를 변경할 서비스를 찾습니다. 그런 다음에 해당 서비스 이름 옆의 드롭다운 메뉴를 클릭하고 해당 서비스에 대해 테스트할 상태를 선택합니다.

이제 다음에 앱이 해당 서비스에 액세스할 때 선택된 설정이 반영됩니다. 앱을 실행하고 동작을 관찰합니다.

명령줄을 사용하여 기능 상태 변경

Eclipse를 사용하는 경우에는 디버그 명령줄 옵션을 사용하여 하나 이상의 기능을 설정할 수 있습니다.

Eclipse에서 VM 명령줄 인수를 사용하여 기능 설정을 변경하려면 다음을 수행하세요.

  1. Eclipse가 열린 상태에서 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭한 후에 다음으로 디버그 > 디버그 구성을 선택합니다.
  2. 인수 탭으로 이동하고 VM 인수 텍스트 상자에서 원하는 옵션을 입력합니다. 옵션의 형식은 다음과 같습니다.

    -Dcapability.status.capabilityname.*=statusname

    여기서 capabilityname은 서비스 이름으로 바뀌고(기능(서비스) 이름 참조) statusname은 사용할 기능 상태로 바뀝니다(기능 상태 값 참조).

    참고: Datastore 쓰기 기능의 경우 Dcapability.status.datastore_v3.write와 같이 capabilitynamedatastore_v3로 바꾸고 별표(*)을 write로 바꿉니다. 다른 기능의 경우에는 별표를 그대로 둡니다.

    아래의 화면 캡처는 명령줄에서 사용 중지된 두 기능(데이터 저장소 및 이미지)을 보여줍니다.

  3. 적용을 클릭하여 변경사항을 저장합니다.
  4. 디버그를 클릭하여 앱을 해당 설정으로 실행합니다.

기능(서비스) 이름

API에서의 기능 이름 콘솔에 표시되는 기능 이름 설명
blobstore BLOBSTORE blobstore 서비스
datastore_v3 DATASTORE 쿼리를 위한 데이터 저장소 서비스
datastore_v3,write DATASTORE_WRITE 쓰기 요청을 위한 데이터 저장소 서비스
images IMAGES 이미지 서비스
mail MAIL 메일 서비스
memcache MEMCACHE Memcache 서비스
taskqueue TASKQUEUE 작업 대기열 서비스
urlfetch URLFETCH urlfetch 서비스

기능 상태 값

모든 기능의 상태 값 설명
DISABLED 기능이 사용 중지되었습니다.
ENABLED 기능을 사용할 수 있으며 현재 계획된 유지관리가 없습니다.
SCHEDULED_MAINTENANCE 기능을 사용할 수 있지만 유지관리가 예약되어 있습니다.
UNKNOWN 이 서비스의 상태를 알 수 없습니다.

Capabilities API를 사용하여 기능 상태 변경

API에서 로컬 서비스 기능 테스트를 사용하려면 LocalCapabilitiesServiceTestConfig 클래스를 사용합니다. 자세한 내용 및 코드 샘플은 로컬 서비스 기능 테스트 쓰기를 참조하세요.