У меня есть следующие модульные тесты с JUnit 4.12 и AssertJ 3.11.0 и есть интересные результаты. helloTest
это green
, а worldTest
это red
.
@Test
public void helloTest() {
Object[] array = new Object[2];
String[] firstElement = new String[]{"Hello"};
String[] secondElement = new String[]{"World"};
array[0] = firstElement;
array[1] = secondElement;
assertThat(array).containsExactlyInAnyOrder(firstElement, secondElement);
}
@Test
public void worldTest() {
Object[] array = new Object[1];
String[] element = new String[]{"Hello"};
array[0] = element;
assertThat(array).containsExactlyInAnyOrder(element);
}
И результат от AssertJ
java.lang.AssertionError:
Expecting:
<[["Hello"]]>
to contain exactly in any order:
<["Hello"]>
elements not found:
<["Hello"]>
and elements not expected:
<[["Hello"]]>
Но почему?