Wil*_*ean 10 .net c# unit-testing
假设我有一个复杂的.NET类,有很多数组和其他类对象成员.我需要能够生成这个对象的深层克隆 - 所以我编写了一个Clone()方法,并使用简单的BinaryFormatter序列化/反序列化来实现它 - 或者我可能使用其他一些更容易出错的技术来进行深度克隆而且我想确保经过测试.
好的,所以现在(好吧,我应该先做)我想编写涵盖克隆的测试.该类的所有成员都是私有的,我的架构非常好(!),我不需要编写数百个公共属性或其他访问器.该类不是IComparable或IEquatable,因为应用程序不需要它.我的单元测试与生产代码分开组装.
人们采用什么方法来测试克隆对象是一个好的副本?您是否在编写(或一旦发现克隆的需要时重写)所有类的单元测试,以便可以使用'virgin'对象或克隆它来调用它们?你如何测试部分克隆是否不够深入 - 因为这只是一种可以在以后发现可怕的错误的问题?
小智 1
我只需编写一个测试来确定克隆是否正确。如果该类不是密封的,您可以通过扩展它来为其创建一个线束,然后在子类中公开所有内部结构。或者,您可以使用反射 (yech),或使用 MSTest 的访问器生成器。
您需要克隆对象,然后检查对象具有的每个属性和变量,并确定它是否已正确复制或正确克隆。
归档时间: |
|
查看次数: |
2294 次 |
最近记录: |