在String []上执行assertEquals时的junit.framework.AssertionFailedError

Ala*_*amu 1 java junit assert

我有以下类返回字符串列表.

public static String[] parseLinks(String text) {
    String[] result = new String[] {"",""};
            return result;
    }
Run Code Online (Sandbox Code Playgroud)

但是当我对结果做一个assertEquals时,

    assertEquals(new String[]{"",""}, parseLinks(""));
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Exception in thread "main" junit.framework.AssertionFailedError: expected: <[Ljava.lang.String;@2352544e> but was:<[Ljava.lang.String;@721cdeff>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:86)
at junit.framework.TestCase.assertEquals(TestCase.java:253)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?如果我必须提供任何其他信息,请与我们联系.

Jef*_*rey 7

您正在比较两个不同的Array对象.您可以使用assertArrayEquals比较数组.

  • +1 ([此处的文档](http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertArrayEquals%28java.lang.Object[],%20java.lang.Object[]%29)) (3认同)