Mockito:基于另一个对象创建模拟对象

12

我有一个模拟对象,叫做Car porsche。它有4个轮子,1个挡风玻璃,1个发动机和名称Porsche。这是通过when()thenReturn()完成的。

我想创建另一个名为trabant的模拟汽车实例,它将表现得与porsche实例完全相同(再次使用when()thenReturn()),只是会返回不同的名称。

是否可以基于第一个模拟对象创建第二个模拟对象,而不必重复所有的when()thenReturn()步骤?


创建汽车的子类怎么样?例如,ConventionalCar扩展了Car。然后使用这些特定特征覆盖父级Car方法。(我听起来好像知道我在说什么) - Peter_James
或者尝试使用“枚举”为每辆汽车分配一个类型,并将此信息存储在该“枚举”状态中。 - Peter_James
嗯,我不想因为一些技术测试要求而改变领域模型。 - Radek Skokan
3
简短回答是否定的。Mockito没有你描述的功能。不过提出一个功能请求可能是值得的;你不可能是第一个想要这个功能的人,也不会是最后一个。 - Dawood ibn Kareem
1个回答

7
创建一个私有方法,在测试中设定给定模拟对象的共同预期,这样如何?

2
是的,谢谢,这就是我所拥有的。我只是好奇Mockito是否支持克隆模拟行为。 - Radek Skokan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接