【发布时间】:2010-06-06 10:12:37
【问题描述】:
我想测试一下
int orderId = myRepository.SubmitOrder(orderA);
orderB = myRepository.GetOrder(orderId);
Assert.AreEqual(orderA, orderB); // fail
显然我需要在这里进行值比较,但我不想仅仅为了测试而必须为我的所有类提供覆盖的 Equals 实现(它在其余部分没有任何用处应用程序)。
是否有提供的通用方法只使用反射检查每个字段?或者如果没有,是否可以自己写?
编辑:似乎人们有点忽略了这一点。我不想编写自己的比较逻辑。这将需要数百行额外的代码。我正在寻找类似通用的东西
bool ContainSameValues<T>(T t1, T t2)
递归使用反射提取T中所有值的方法。
进一步编辑:由于似乎没有任何内置支持来执行此类操作,因此您可以看到我(失败)尝试编写自己的 here
【问题讨论】:
标签: c# .net unit-testing testing equality