使用虚拟值填充复杂的Java对象

时间:2017-01-25 14:34:25

标签: java reflection

如果A,B,C,D是班级。假设A类的结构如下。

    class A{
    private List<B> bList;
    private String name;
    private boolean dude;
    private C c;
    private D d;
    //Getter and Setter Methods
    }

B,C和D有一些属性,如String,boolean等。

class B{
private String e;
private boolean b;
.....
//Getter and Setter Methods
}

现在我要创建一个A的对象,其属性B,C和D不为空,但填充了"abc"的{​​{1}},String的{​​{1}} } {},1 int

因此,目标是创建一个具有虚拟值的对象false。如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

我想有很多方法。大多数取决于你正在尝试做什么以及整个项目的细节,但这里有一对......

我认为这是针对测试代码的,在这种情况下,mockito可能证明是有用的(尽管它不适用于测试代码......好吧,我不会使用任何类型的模拟库)生产代码)。

或者,这在Groovy中更容易(它编译为字节码并且可以在项目中与Java共存)...但是,我再次反对在生产代码中使用Groovy,所以如果你&#39,我会推荐这个。 ;重新编写测试代码。