EditText 및 Button 위짓 트가있는 활동이 있습니다. 버튼을 클릭하면 EditText가 비어 있거나 setResult()
을 호출하여 값을이 활동을 시작한 다른 활동으로 다시 전송합니다.Android JUnit 클래스의 EditText 입력을 테스트하는 기본 방법
이 상호 작용이 작동하는지 확인하기 위해 간단한 단위 테스트를 작성하고 있습니다. 나는 동일한 테스트의 두 가지 버전이 있습니다 당신이 볼 수 있듯이
@UiThreadTest
public void testOkButtonOnClickWithNumber() {
this.numberText.setText(Integer.toString(this.testNumber));
Assert.assertTrue(this.okButton.performClick());
Assert.assertTrue(this.activity.isFinishing());
}
public void testOkButtonOnClickWithUserInputNumber() throws Throwable {
this.sendKeys(Integer.toString(this.testNumber));
this.runTestOnUiThread(new Runnable() {
@Override
public void run() {
Assert.assertTrue(NumberFilterTest.this.okButton.performClick());
}
});
this.getInstrumentation().waitForIdle(new Runnable() {
@Override
public void run() {
Assert.assertTrue(NumberFilterTest.this.activity.isFinishing());
}
});
}
를 하나 개의 테스트는 단순히 글고 위젯에 setText()
를 호출합니다. 다른 하나는 sendKeys()
을 사용합니다. 테스트 중에이 두 가지 옵션 중 가장 좋은 방법이 있습니까? 아니면 두 가지 테스트를 모두 진행해야합니까?
감사합니다. 나는 그것을 확실히 체크 아웃 할 것이다. 나는 아직도 나의 원래 질문에 대한보다 직접적인 대답에 관심이있다. –