我有两个请求给你。我将测试方法添加到代码行中。测试方法的“期望”和“实际”值应该是多少?以及如何使用try-catch或其他方法在测试方法中真正测试我的自定义异常?你能帮忙吗?
I define "customerList" on top
私有列表customerList = new ArrayList <>();
`````````There is a "getCustomer" method in the "Bank" class`````````
public Customer getCustomer(int ID) throws CustomerNotFoundException {
for (int i = 0; i < customerList.size(); i++) {
if (customerList.get(i).getId() == ID) {
return customerList.get(i);
}
}
throw new CustomerNotFoundException(ID);
}
```````
`````````There is a "addCustomer" method`````````
public void addCustomer(int id, String name){
customerList.add(new Customer(name, id));
}
`````````There is a "getCustomer" test that I ask`````````
/** Test getCustomer()**/
@Test public void tc504_Bank(){
try {
Bank b = new Bank("Test Name", "Test Address");
b.addCustomer(1, "Test Name");
b.getCustomer(1);
Assert.assertEquals("Customer Not Found", b.getCustomerList().get(0), ??? );
}catch (CustomerNotFoundException e){
Assert.assertEquals("PIN not all digits", 0, 1);
}
}
````````
`````````There is a custom expection class````````
public class CustomerNotFoundException extends RuntimeException {
private String name;
private int id;
public CustomerNotFoundException(String name, int id) {
this.name = name;
this.id = id;
}
public CustomerNotFoundException(String name) {
this.name = name;
}
public CustomerNotFoundException(int id) {
this.id = id;
}
@Override
public String toString() {
return "CustomerNotFoundException: id - " + id + " name - " + name;
}
}
答案 0 :(得分:1)
根据您使用的junit库版本:
JUnit4
Map<String, List<Car<StudentInGroup>>> byName = cars.stream()
.collect(Collectors.groupingBy(
car -> car.getStudentInGroup()
.map(s -> s.getName())
.orElse("none")))
JUnit5
@Test(expected = CustomerNotFoundException.class)
public void tc504_Bank(){
Bank b = new Bank("Test Name", "Test Address");
b.addCustomer(1, "Test Name");
b.getCustomer(1);
}