gpt4 book ai didi

java - 生成一个充满任意值的模拟对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:10:11 25 4
gpt4 key购买 nike

我是 java 的新手,必须测试类。

我需要一个非常复杂的类的模拟对象,其中一些属性是对象,而这些对象又具有其他对象等等,因此对我来说手动生成一个模拟对象需要做很多工作。

我想知道是否有一种方法可以自动生成该模拟对象,但不仅如此,还有是否可以用一些任意值自动填充该对象的所有属性。

有人可以帮我解决这个问题吗?

我要在这里举个例子,以确保我说清楚了......

class A {
int a;
B b;
C c;
}

class B {
int x;
C k;
}

class C {
String x;
int x;
}

我想模拟 A 类的对象。

我希望 mockA 对象具有所有可能字段的值,例如 B 类中的 x String 也...

最佳答案

MockitoRETURNS_DEEP_STUBS选项可能是你要找的。更重要的是,默认情况下,mockito 似乎经常返回合理的值。

链接文档中的示例用法,供快速引用:

Foo mock = mock(Foo.class, RETURNS_DEEP_STUBS);

// note that we're stubbing a chain of methods here: getBar().getName()
when(mock.getBar().getName()).thenReturn("deep");

// note that we're chaining method calls: getBar().getName()
assertEquals("deep", mock.getBar().getName());

关于java - 生成一个充满任意值的模拟对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18532512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com