Java JUnit-测试数组结果

Java JUnit-测试数组结果,java,junit,Java,Junit,在@Test 以下是我目前掌握的情况: @以前 public void initialize() throws Exception{ bob = new Student(18, "Bob Maher", new String []{"COSC 222","COSC 311", "MATH 200", "MATH 220"}); bill = new Student(19, "Bill Cosby", new String []{"COSC 222", "COSC 404", "E

@Test

以下是我目前掌握的情况:

@以前

public void initialize() throws Exception{
    bob = new Student(18, "Bob Maher", new String []{"COSC 222","COSC 311", "MATH 200", "MATH 220"});
    bill = new Student(19, "Bill Cosby", new String []{"COSC 222", "COSC 404", "ENGL 112"});
    ben = new Student(24, "Ben Mckenny", new String []{"COSC 222", "COSC 111", "MATH 200", "PHYS 101"});
}

@Test

public void testGetClasses() throws Exception {
    //TODO: test that the classes array returned is correct
    ArrayList<Student> list = new ArrayList<>(Arrays.asList(bob, bill, ben));

    ArrayList<Student> results = Arrays.asList(bob,bill.ben))

    assertTrue(list.containsAll(results) && results.containsAll(list));
}
public void initialize()引发异常{
bob=新学生(18,“bob Maher”,新字符串[]{“COSC 222”,“COSC 311”,“数学200”,“数学220”});
比尔=新学生(19,“比尔·科斯比”,新字符串[]{“COSC 222”、“COSC 404”、“英语112”});
ben=新生(24,“ben Mckenny”,新字符串[]{“COSC 222”,“COSC 111”,“数学200”,“物理101”});
}
@试验
public void testGetClasses()引发异常{
//TODO:测试返回的类数组是否正确
ArrayList=newArrayList(Arrays.asList(bob、bill、ben));
arraylistresults=Arrays.asList(bob,bill.ben))
assertTrue(list.containsAll(results)&results.containsAll(list));
}
您可以使用和使用
containsActly()
containsActlyInYorder()
。例如:

String[] expected = { "ABC", "123" };
String[] actual = { "ABC", "234" };
assertThat(actual).containsExactly(expected);
将产生一个错误:

java.lang.AssertionError: 
Expecting:
  <["ABC", "234"]>
to contain exactly (and in same order):
  <["ABC", "123"]>
but some elements were not found:
  <["123"]>
and others were not expected:
  <["234"]>
java.lang.AssertionError:
期望:
完全包含(并按相同顺序):
但未找到某些元素:
其他人则没有预料到:
您可以使用和使用
containsActly()
containsActlyInYorder()
。例如:

String[] expected = { "ABC", "123" };
String[] actual = { "ABC", "234" };
assertThat(actual).containsExactly(expected);
将产生一个错误:

java.lang.AssertionError: 
Expecting:
  <["ABC", "234"]>
to contain exactly (and in same order):
  <["ABC", "123"]>
but some elements were not found:
  <["123"]>
and others were not expected:
  <["234"]>
java.lang.AssertionError:
期望:
完全包含(并按相同顺序):
但未找到某些元素:
其他人则没有预料到:

您关心元素的顺序吗?
assertArrayEquals(expectedArray,actualArray)将完成此工作。如果长度和单个值都相同,则返回true:是否关心元素的顺序?
assertArrayEquals(expectedArray,actualArray)将完成此工作。如果长度和单个值都相同,则返回true: