相关疑难解决方法(0)

使用C#和RhinoMocks进行测试驱动开发的最佳实践

为了帮助我的团队编写可测试的代码,我提出了这个简单的最佳实践列表,以使我们的C#代码库更易于测试.(有些观点指的是Rhino Mocks的限制,这是C#的模拟框架,但规则也可能更普遍适用.)有没有人有他们遵循的最佳实践?

要最大限度地提高代码的可测试性,请遵循以下规则:

  1. 首先编写测试,然后编写代码.原因:这可确保您编写可测试代码,并确保每行代码都为其编写测试.

  2. 使用依赖注入设计类.原因:你无法模拟或测试无法看到的东西.

  3. 使用Model-View-Controller或Model-View-Presenter将UI代码与其行为分开.原因:允许在无法测试的部分(UI)最小化的同时测试业务逻辑.

  4. 不要编写静态方法或类. 原因:静态方法难以或无法隔离,Rhino Mocks无法模拟它们.

  5. 编程关闭接口,而不是类.原因:使用接口阐明了对象之间的关系.接口应该定义对象从其环境中需要的服务.此外,可以使用Rhino Mocks和其他模拟框架轻松模拟接口.

  6. 隔离外部依赖项.原因:无法测试未解析的外部依赖项.

  7. 将您想要模拟的方法标记为虚拟.原因:Rhino Mocks无法模拟非虚方法.

c# tdd unit-testing rhino-mocks

86
推荐指数
3
解决办法
3万
查看次数

标签 统计

c# ×1

rhino-mocks ×1

tdd ×1

unit-testing ×1