Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java junit 3的故障跟踪窗口不';不显示预期值_Java_Android_Eclipse_Junit - Fatal编程技术网

Java junit 3的故障跟踪窗口不';不显示预期值

Java junit 3的故障跟踪窗口不';不显示预期值,java,android,eclipse,junit,Java,Android,Eclipse,Junit,我正在用Android SDK执行一些JUnit测试用例,我发现没有一个AsserteQual在日志中显示它们的预期值 下面是一个示例断言 assertEquals("mocks", model.getUseTable()); 这里是失败的例外 junit.framework.ComparisonFailure: expected:<...k...> but was:<......> at ca.thinkingmedia.gems.test.models.Abstra

我正在用Android SDK执行一些JUnit测试用例,我发现没有一个AsserteQual在日志中显示它们的预期值

下面是一个示例断言

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)
junit.framework.ComparisonFailure:应为:但为:
位于ca.thinkingmedia.gems.test.models.AbstractModelTest.test\u Auto\u Table\u Name(AbstractModelTest.java:17)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
位于android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
位于android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
位于android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
位于android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
位于android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1575)
如您所见,预期值被点遮住。这使得找出检查了哪些错误值非常耗时

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

您可以这样做

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

消息将出现在日志中。

我想没有其他方法了。这是Android的问题,还是所有JUnit测试都会这样做?创建我自己的测试类,覆盖assertEquals(x,y)并在原因消息中添加“x”似乎是最简单的技巧。