我有一个具有不同抽象层的项目,可以在组中拆分:
内部API;
数据访问层(DAL)
业务访问层(BAL)
...
公共API
可以访问内部数据的公共可访问类;
REST endpointes。
...
在Public API服务中,我使用内部API。
是否需要为所有这些图层编写单元测试或仅为内部API编写单元测试?
是否有最佳做法?
我应该从内部API开始编写测试并从下到上移动到下一层吗?
答案 0 :(得分:1)
我要说的第一件事是“是的”。换句话说,测试一切。
对于内部API,您可以使用DAL的模拟对象编写真正的单元测试,并隔离测试每个类。这不仅可以测试验证,还可以让您对代码的工作充满信心,并作为代码的文档。例如,当REST API调用稍后失败并且您需要缩小问题所在的范围时,这种信心也会派上用场。
您可以使用内存数据库测试DAL的速度。我称之为集成测试,而其他人称之为单元测试。只是语义。但你也必须这样做。
内部API测试由开发人员开发。
测试人员应该帮助公众面对任何事情。您只需编写API服务和REST客户端测试的集成测试,以验证常见案例和明显的例外情况。
这听起来很多,而且有点像。但是如果你花时间去了解你的工具并在任何地方设置自动化,那么你会惊讶地发现你可以很快完成多少工作。
希望这有帮助。