여기서 확실한 것을 놓치고 있어야합니다.Android 앱 계측 테스트
기기에서 계측 테스트 케이스를 실행 중이며 Robotium도 도움을줍니다. 어떤 시점에서 테스트중인 내 응용 프로그램은 기본 전자 메일 작성 활동을 시작합니다.
내가 알고 싶은 것은 : 어떻게하면 내 활동을 다시 보여주기 위해 그 활동을 닫을 수 있는가? 그 이유 중 하나는 이상이어야합니다. 하나의 이유로 인해이 필요합니다. 현재 테스트 사례가 완료된 후 전자 메일 활동이 포 그라운드로 유지되고 다음 테스트 사례가 제대로 실행되지 않습니다.
이메일 활동에 필요한 뒤로 키를 보내려고했는데 - this.sendKeys(KeyEvent.KEYCODE_BACK)
또는 solo.goBack()
- 행운이 없습니다.
내가 실행하는 경우 solo.getCurrentActivity()
또는 this.getActivity()
나는 내 패키지 내의 맨 활동에 대한 참조하지만, 실제 전경 활동의 보류를 얻을 수있는 방법을 얻을. 또한 언급 된 sendKeys/goBack
은 이메일 활동이 아니라 내 활동으로 직접 이동합니다.
내 앱이 Play 스토어의 주요 활동을 시작하면 동일한 문제가 발생합니다.
전자 메일 활동이 테스트중인 패키지의 일부가 아니라는 것을 알고 있으며, 이는 문제의 일부일 수 있습니다.
이메일 활동을 종료 할 수있는 방법이 있습니까?
지금은 @Joe 마린 처음 제안을 고수하고있어 정보 편집
: 내 뷰 모델 (또는 컨트롤러)에서
는 private static boolean _productionMode = true;
이 일부 내부 도우미의 경우 더 나은 (일부 도우미 방법을
public void dontLaunchExternalApps()
{
_productionMode = false;
}
그런 다음 몇 가지의 ViewModel 일반적인 방법 :
if (_productionMode)
{
launchSomeExternalApp();
}
else
{
// Do Nothing Or Set Some Internal Flag
}
클래스) 테스트 중에 만 사용
감사 : 여기
은 예입니다. 저는 이미 단위 테스트 구성 요소, TDD-ing 및 통합/기능 테스트를 실행하고 있습니다. 내가 말하고있는 테스트는 실제로 기능 테스트입니다. 첫 번째 제안은 기본적으로 활동이 테스트 모드에서 실행 중임을 감지하여 전자 메일 작성기를 실제로 시작하지 않고 외부에서 테스트 가능한 다른 작업을 수행하도록하는 것임을 이해합니다. 그것은 방법일지도 모른다 ... – superjos