我听说通过单元测试我们可以捕获代码中的大部分错误,我真的相信这是真的.但我的问题是在大型项目中,每个类依赖于许多其他类,你如何进行单元测试?由于编写存根所需的复杂性和时间,所以对其他所有类进行存根没有多大意义.你对此有何看法?
Era*_*rin 13
使用测试的部分优势在于它会强制您最小化依赖关系,从而创建可测试的代码.通过最小化依赖关系,您将提高代码的可维护性和可重用性,这两者都是非常理想的特性.
由于您要将测试引入现有的代码库,因此无疑会遇到许多难以测试的情况,这些情况需要重构才能正确测试.这种重构将增加代码的可测试性,同时减少依赖性.
其难以通过测试改进代码的原因是为什么许多人主张遵循测试驱动开发.如果您先编写测试然后编写代码以通过测试,那么默认情况下,您的代码将更加可测试和解耦.
使用模拟框架为您存根类。Mocking 框架(我使用 Rhino Mocks for C#/.NET)可以很容易地排除你的依赖项。与依赖注入一起使用,您的类可以很容易地与其他类分离,并且不需要做太多工作来使它们分离。请注意,有时“伪造”某些东西比模拟更容易。我最终伪造了一些类,但通常这些类很容易编写——它们只包含“好”或“坏”数据并返回它。不涉及逻辑。
| 归档时间: |
|
| 查看次数: |
3730 次 |
| 最近记录: |