Макет многоуровневых массивов в Java для модульного тестирования - PullRequest
0 голосов
/ 31 января 2019

Гипотетически у меня есть

class Box{
   Item[] items;
}

class Item{
   Toy[] toys;
}

class Toy{
   Color[] colors;
}

Метод состоит в том, чтобы проверить, есть ли в коробке игрушка зеленого цвета;

public bool testHasColor(Box){
   //There will be code here that
   //Streams over each type till we get to color
   // Final point is
   if(color==Color.GREEN){
    return true;
   }
}

BoxText.class

public void testBoxHasColorGreenMethod(){
    // Need mocking here
}

Чтолучший способ высмеять этот класс Box для теста?

Спасибо

1 Ответ

0 голосов
/ 31 января 2019

Вам не нужно издеваться над API Java.Вам просто нужно «смоделировать» некоторые данные, которые обычно не называют «поддельными» - просто тестирование.Таким образом, вы просто создали бы тестовый экземпляр Box и проверили бы, дает ли ваш метод ожидаемый результат.

    Box box = new Box();
    Item item = new Item();
    Toy toy = new Toy();

    box.items = new Item[] {item};
    item.toys = new Toy[] {toy};
    toy.colors = new Color[] {Color.RED, Color.GREEN};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...