我有一个解决方案,它缺少很多代码覆盖率。我需要重构这段代码来解耦,以便开始创建单元测试。最好的策略是什么?我首先在想,我应该推动从businessobjects的数据访问中解耦业务逻辑,以便首先获得一些组织,然后从那里深入。由于许多类不支持单一责任原则,因此很难开始测试它们。
对于采用遗留解决方案并使其成形,以便为代码覆盖和单元测试做好准备,是否还有其他建议或最佳实践?
发布于 2008-11-25 11:39:39
发布于 2008-11-25 14:15:09
在遗留代码中最重要的事情和最好的方法之一就是缺陷。这也是一个您将继续使用任何引入单元测试的代码库的过程。无论何时报告缺陷,都要编写一个将暴露缺陷的单元测试。你很快就会发现那些会定期中断的代码(即“哦,耶。xyzzy类中的plugh()方法又被破坏了!)会越来越少地被破坏。
真的,开始做吧。您不会在一夜之间在遗留应用程序中获得巨大的覆盖率。从更容易被破坏的代码开始,并开始扩展。确保代码中的任何新开发都具有更高的代码覆盖率。
请记住,TDD的口号是“红色/绿色/重构”,您可能希望研究重构工具来帮助完成一些伴随它而来的繁琐任务。JetBrain的ReSharper很受欢迎,也是我个人的选择。
发布于 2008-11-25 12:01:06
从创建测试开始。根据需要重构代码以支持测试。
https://stackoverflow.com/questions/317074
复制相似问题