在 java 中模拟多级数组以进行单元测试



假设我有

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;
   }
}

框文本.class

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

为测试用例模拟这个 Box 类的最佳方法是什么?

谢谢

你不需要模拟任何Java API。你只需要"模拟"一些通常不称为"模拟"的数据 - 只是测试。因此,您只需创建一个 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};

相关内容

  • 没有找到相关文章

最新更新