我刚接触单元测试,但我开始认为我需要它。我有一个ASP.NET web forms应用程序,它正在以意想不到的方向扩展,这意味着某些代码正在被改编以用于多种用途。我需要尝试并确保在更改这些单位时不会破坏它们最初的预期用途。那么,如何才能最好地将单元测试回溯应用于现有代码呢?非常感谢实用的建议。谢谢
发布于 2009-01-01 15:06:57
非常慢!
我目前正在我的项目中做同样的事情,这是很大的努力。为了对现有类进行单元测试,它们通常需要是完全redesigned...and的,因为高耦合性,更改单个类可能会导致需要对其他几十个类进行更改。
最终的结果是良好的干净的代码,可以工作,可以扩展,可以是verified....but它确实需要花费大量的时间和精力。
我已经给自己买了几本关于单元测试的书,它们帮助我完成了这个过程。
您可能需要考虑让自己获得xUnit Test Patterns和Working Effectively with Legacy Code。
发布于 2009-01-01 15:23:08
在为代码所在的方法编写测试之前,不要更改一行代码。我看到人们犯的最大的错误是,他们在为类编写测试之前重新设计了类,使其更具可测试性。这是适得其反的,因为你会打破一些东西。
正确的方法是在更改之前为类(或方法,粒度级别取决于您)编写一组完整的测试。这些测试是你的安全网,让你自信地做出改变。如果您发现不能为一个类编写测试,可能是因为它与另一个类的耦合太重,那么您的第一组测试应该是两个类一起测试,那么您的下一步应该是解耦这两个类。
发布于 2009-01-01 14:35:52
单元测试的一个不言而喻的好处是它将类设计推向低耦合的方式。如果你想在最后添加UnitTesting,你应该做好准备:
由于要移除耦合的coupling
需要特别注意的几件事是:
新创建的其他类的
编辑
维基百科解释Unit Testing
单元测试的目标是隔离程序的每个部分,并显示各个部分是正确的。单元测试提供了严格的书面约定,这段代码必须满足这些约定。
这是关于测试一个方法。这不是关于测试一个方法和一个数据库。您可以进行自动化测试,测试一个方法和一个数据库,但这些不是单元测试。
https://stackoverflow.com/questions/404988
复制相似问题