在数组中测试“ getCustomer”方法时,期望值和实际值是多少?

时间:2019-03-26 20:56:28

标签: java arrays unit-testing junit

我有两个请求给你。我将测试方法添加到代码行中。测试方法的“期望”和“实际”值应该是多少?以及如何使用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;

    }
}

1 个答案:

答案 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);
 }