我使用 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);
}
Run Code Online (Sandbox Code Playgroud)
AssertJ 的结果是
java.lang.AssertionError:
Expecting:
<[["Hello"]]>
to contain exactly in any order:
<["Hello"]>
elements not found:
<["Hello"]> …Run Code Online (Sandbox Code Playgroud) 我有一个数据库表"person",其中包含firstName和lastName两列.现在我想选择"firstName lastName"包含给定名称的所有人.我怎么能用SQL查询呢?
例:
具有firstName的人x:AB和lastName:C
具有firstName的人y:A和lastName:BC
具有firstName的人z:AB和lastName:CD
如果查询的条件是fullName(firstName lastName)包含BC,则所有这些人都应该在输出中显示
该表被设计为没有fullName列.