2013-11-27 10 views
1

저는 uiautomator로 테스트를 진행하고 있습니다. 테스트가 끝나면 결과를 테스트해야합니다. 내 문제는 하나의 테스트 실패, 다른 테스트되지 않습니다. 나는 다른 시험의 결과에 관계없이 모두 시험 받기를 원합니다. 이것은 나의 시도이다 : uiautomator를 여러 번 단언하십시오.

public void testSomeUI() { 
    ////lots of stuff 

    assertEquals(///assertion///); 
    assertEquals(///assertion///); 
    assertEquals(///assertion///); 
    ....and so on 
} 

이 또한 내가 시도 :

public void testSomeUI() { 
    ////lots of stuff 

testValue1(); 
testValue2(); 
testValue3(); 
    ....and so on 
} 

    private void testValue1(){ 
    assertEquals(///assertion///); 
} 
    private void testValue2(){ 
    assertEquals(///assertion///); 
} 
    private void testValue3(){ 
    assertEquals(///assertion///); 
} 
..and so on 

하나가 실패하면 지난 3가 실행되지 않습니다. 어떤 제안? 감사.

답변

0

일단 어설 션이 실패하면 오류가 발생합니다. 그래서 나머지는 뛰지 않습니다.

JUnit (UIAutomator가 빌드 된 것처럼 보임)과 같은 테스트 프레임 워크를 사용해보십시오. 그런 다음 assert마다 하나의 메소드를 작성하십시오. 그렇게하면 매번 모든 주장이 실행될뿐만 아니라 테스트를 적절하게 작은 크기로 분해 할 수 있습니다. 이름이 제대로 지정되면 문제가 실제로 발생한 곳에서 실패한 테스트의 이름으로 알 수 있기 때문에 전혀 디버깅 할 필요가 없습니다.

Here의 예를 들어 튜토리얼에 대한 링크.

+0

나는 내 질문에 언급했듯이 그 원인을 알고 있습니다. 그리고 저는 여러 가지 방법으로 시도해 보았습니다. 제 질문에 보여 주었던 것처럼 ... –

+0

당신은 똑같은 방법으로 그것들을 모두 불러야합니다. 그래서 당신이 그것에서 벗어나면 나머지는 호출되지 않습니다. – t0mppa

+0

나는 본다. 그래서 나는 그 테스트를 runtest 스크립트에 추가해야 할 것인가? –