junit 3的故障跟踪窗口未显示预期值

时间:2012-10-19 02:44:01

标签: java android eclipse junit

我正在使用Android SDK执行一些JUnit测试用例,并且我发现没有任何assertEquals在日志中显示它们的预期值。

这是一个示例断言。

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)

正如您所见,预期的值被点掩盖。这使得确定检查错误值的时间非常耗时。

有没有办法在异常消息中正确显示这些值?

1 个答案:

答案 0 :(得分:1)

你可以做到

final String actual = model.getUseTable()
assertEquals("Expecting mocks but was " + actual, "mocks", actual);

并且消息将在日志中。