2012-06-08 68 views
0

我不知道我仍然得到如何“单位”测试遗留代码,例如这样...嘲讽桩深遗留对象

我的大部分代码是把事情和删除的东西从A类的一个对象里面有许多其他的物体,就像树一样。在这棵树的叶子上是一个由OR映射的数据库行支持的数据项目对象...创建classA的真实对象是一项不平凡的任务,因为它涉及创建此树的所有节点。我甚至不具有超出内A.一个级别的可视性类

我的代码需要行使当classAobj是状态X和该代码将移动classAobj Y国

将是最好的方式得到什么classAobj到状态X?

我听说过Mock对象和存根对象喋喋不休,但不确定我将如何处理任何有着深刻期望的事情,以及如何在需要所有树时创建存根(stub)?

您如何发现classAobj需要其他对象才能正常工作?

+0

请通过发布您的代码的相关部分,[正确格式化](http://stackoverflow.com/editing-help)来改进您的问题。此外,请发布您收到的任何实际错误消息,以及您迄今采取了哪些步骤来研究或解决您的编程问题。 –

回答

0

为未针对单元测试设计的遗留代码添加单元测试非常困难,您最终可能会在您重构整个对象树时,最终编写真正只想垃圾的测试。

我会着眼于编写集成测试,因为这会给您最大的自由度来重构,但花费很大的代价。