2
我正在测试依赖于其他存储库接口和服务接口的业务服务。这些依赖项返回包含对其他复杂对象的循环引用的复杂对象。我正在使用MOQ来模拟这些依赖关系,并设置它们的例程来返回复杂的对象。然后我验证被测业务服务是否返回了正确的结果。为单元测试设置包含对其他复杂对象的循环引用的复杂对象
由于这些复杂对象的复杂性,创建一个代表这些复杂对象的JSON文件并将其反序列化为模拟对象,我设置好了吗?你怎么看?复杂的对象,需要充分填充测试的
例子:
public class Foo{
property int Id {get; set;}
property virtual ICollection<Bar> Bars {get; set;}
}
public class Bar{
property int Id {get; set;}
property int BarId {get; set;}
property virtual Foo Foo {get; set;}
}
这是一个很好的观点,如果我改变了类的属性,那么json将不得不相应更新。 – Robbie
我在代码中设置模拟数据时遇到的困难是填充循环引用。例如,Foo包含许多条和一个条包含foo。有什么建议吗? – Robbie
他们是如何正常构建的?他们是懒惰加载还是有这些循环依赖的可设置属性?如果您包含更具体的示例,可能会有帮助,因此我们一定会在同一页面上。 – Sacrilege