模拟将模型类作为成员变量的spring模型类
因此,我有一个类结构:模拟将模型类作为成员变量的spring模型类,spring,unit-testing,mocking,mockito,springmockito,Spring,Unit Testing,Mocking,Mockito,Springmockito,因此,我有一个类结构: class ModelA { ModelB b; // Also a model object // Getters and setters } class B() { ModelC c; // Also a model object ModelD d; // Also a model object } 我想模拟所有这些模型,并在ModelA对象列表中使用它们。这样做的最佳方式是什么 有两种选择 不要
class ModelA
{
ModelB b; // Also a model object
// Getters and setters
}
class B()
{
ModelC c; // Also a model object
ModelD d; // Also a model object
}
我想模拟所有这些模型,并在ModelA对象列表中使用它们。这样做的最佳方式是什么 有两种选择
when(mockA.getB().thenReturn(mockB));
when(mockB.getC()).thenReturn (mockC);
有两种选择
when(mockA.getB().thenReturn(mockB));
when(mockB.getC()).thenReturn (mockC);
非常感谢。如果我使用第二个选项,我将如何将mockA与mockB关联为它的成员变量?嗯。。。模拟对象没有成员变量。但是,您可以指定在
mockA
上调用getB
时返回的内容。谢谢。我想如果这不是一个坏习惯的话,我可能会选择第一种。您认为设置模型对象并将其用于服务测试完全可以吗?模拟规则不是像模拟除测试服务之外的所有非原语类型吗?请告知。我相信是这样。该规则适用于执行操作或具有某些附加逻辑的类型。如果类型只有getter/setter,那么您可以为测试设置它。谢谢。如果我使用第二个选项,我将如何将mockA与mockB关联为它的成员变量?嗯。。。模拟对象没有成员变量。但是,您可以指定在mockA
上调用getB
时返回的内容。谢谢。我想如果这不是一个坏习惯的话,我可能会选择第一种。您认为设置模型对象并将其用于服务测试完全可以吗?模拟规则不是像模拟除测试服务之外的所有非原语类型吗?请告知。我相信是这样。该规则适用于执行操作或具有某些附加逻辑的类型。如果类型只有getter/setter,那么您可以为测试设置它。