Тест Junit для Loop - PullRequest
       11

Тест Junit для Loop

0 голосов
/ 28 марта 2019

Я учу себя тестированию Junit и пытаюсь создать тест для следующего кода

 private ArrayList<AirbnbListing> List;

   public int getAvgReviews(){
    int sums = 0;
    for (int i = 0 ; i < List.size(); i++){
        AirbnbListing houses = List.get(i);
        if(houses.getPrice() >= fromValue && houses.getPrice() <= toValue){
            sums += houses.getNumberOfReviews();
        }
    }
    return (sums/getNoOfProperties());
}

Может ли кто-нибудь мне помочь

1 Ответ

0 голосов
/ 28 марта 2019

Во-первых, ваш список не инициализирован.Вы, вероятно, захотите изменить свою функцию так, чтобы она начинала со списка, например

public int getAvgReviews(List<AirbnbListing> listings){ ... }

, мы можем написать JUnit так просто или сложно, как нам хотелось бы.Например:

@Test
public void simpleTest1(){
    List<AirbnbListing> list = new List<AirbnbListing>();
    // populate your list here with test elements
    // ie list.add(new AirbnbListing(...)); as many as needed

    // now if your list is 3 elements long with review ratings of [4, 5, 6],
    // we would want to test the assertion that getAvgReviews(list) is equal to 5

    assertTrue(getAvgReviews(list) == 5);
    // ... more assertions here if needed
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...