2012-09-10 1 views
1

Android JUnit Test 러너를 사용하여 Android 2.3.3 프로젝트에 대한 몇 가지 테스트를 작성 중이며 어설 션의 실패 추적에서 이상한 결과가 표시됩니다.Android 테스트 프로젝트 JUnit 실패 흔적이 예상대로 표시되지 않음 + 실제

import junit.framework.TestCase; 

public class TU_Test extends TestCase { 

    public void testStuff() { 
     assertEquals("aft", "af"); 
    } 

} 

어설 분명히 여기에 실패하고 이클립스에서 복사 한 흔적이다 : 다음은 간단한 예제

junit.framework.ComparisonFailure: expected:<...t> but was:<...> 
at com.redprairie.test.TU_Test.testStuff(TU_Test.java:33) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448) 

가 실제는 매우 도움이되지 않습니다 + 예상 표시되는 ... 그 차이를 표시 할 것/두 문자 사이에 문자가 없지만 각각의 전체 값을 볼 수 있다면 훨씬 더 도움이 될 것입니다. 나는 정상적으로 (안드로이드 테스트 러너를 사용하지 않고 JUnit 4를 사용하고있다.) 이클립스에서 실패 추적을 두 번 클릭하고 두 결과를 비교할 수있다. Android Test Runner를 사용하여이를 달성 할 수있는 방법이 있습니까? JUnit 3 스타일 테스트입니까? 언제나 중단 점을 설정하는 것이 엉덩이의 고통입니다.

감사합니다.

답변

0

난, 난 그냥 주장을 감싸고과 같이 자신을 메시지를 작성 결국이에 대한 진정한 해결책을 찾을 수 없습니다 이후 :

private void _assertEquals(String expected, String actual) { 
    assertEquals("expected <" + expected + "> but was <" + actual + ">", expected, actual); 
} 
0

당신은 ComparisonFailure를 잡으려고 했습니까? 예외 객체에서 getActual() 및 getExpected()를 호출하여 값을 찾을 수 있습니다.

다음의 javadoc를 살펴 보자 : http://kentbeck.github.com/junit/javadoc/4.10/org/junit/ComparisonFailure.html

+0

나는 그것을 시도했지만 안드로이드는 JUnit 3을 사용해야하고 Throw되는 ComparisonFailure에는 그러한 메소드가 포함되어 있지 않다. 목록에있는 링크는 JUnit 4 용입니다 ( – chinabuffet

+0

오른쪽). 버전 3에만 getMessage()가 포함되어 있습니다. ( – nmb

관련 문제