0
我正在执行一些使用Android SDK的JUnit测试用例,并且我发现没有任何assertEquals在日志中显示其预期值。junit 3的失败跟踪窗口未显示预期值
这是一个示例断言。
assertEquals("mocks", model.getUseTable());
这是失败异常。
junit.framework.ComparisonFailure: expected:<...k...> but was:<......>
at ca.thinkingmedia.gems.test.models.AbstractModelTest.test_Auto_Table_Name(AbstractModelTest.java:17)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1575)
正如你可以看到预期值都戴着点。这使得找出检查错误值的过程非常耗时。
有没有办法在异常消息中正确显示这些值?
我想没有其他办法了。这是一个Android问题,还是所有的JUnit测试都这样做? – cgTag
创建我自己的覆盖assertEquals(x,y)并将“x”添加到原因消息的测试类似乎是最简单的技巧。 – cgTag