单元测试 - 多层项目的最佳实践

时间:2013-10-05 18:42:02

标签: unit-testing project

我有一个具有不同抽象层的项目,可以在组中拆分:

  • 内部API;

    • 数据访问层(DAL)

    • 业务访问层(BAL)

    • ...

  • 公共API

    • 可以访问内部数据的公共可访问类;

    • REST endpointes。

    • ...

在Public API服务中,我使用内部API。

  1. 是否需要为所有这些图层编写单元测试或仅为内部API编写单元测试?

  2. 是否有最佳做法?

  3. 我应该从内部API开始编写测试并从下到上移动到下一层吗?

1 个答案:

答案 0 :(得分:1)

我要说的第一件事是“是的”。换句话说,测试一切。

对于内部API,您可以使用DAL的模拟对象编写真正的单元测试,并隔离测试每个类。这不仅可以测试验证,还可以让您对代码的工作充满信心,并作为代码的文档。例如,当REST API调用稍后失败并且您需要缩小问题所在的范围时,这种信心也会派上用场。

您可以使用内存数据库测试DAL的速度。我称之为集成测试,而其他人称之为单元测试。只是语义。但你也必须这样做。

内部API测试由开发人员开发。

测试人员应该帮助公众面对任何事情。您只需编写API服务和REST客户端测试的集成测试,以验证常见案例和明显的例外情况。

这听起来很多,而且有点像。但是如果你花时间去了解你的工具并在任何地方设置自动化,那么你会惊讶地发现你可以很快完成多少工作。

希望这有帮助。