-2

我有一个具有不同抽象层的项目,可以分成几组:

  • 内部 API;

    • 数据访问层 (DAL)

    • 业务访问层 (BAL)

    • ...

  • 公共 API

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

    • REST 端点。

    • ...

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

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

  2. 有没有最佳实践?

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

4

1 回答 1

1

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

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

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

内部 API 测试由开发人员为开发人员提供。

测试人员应该帮助解决任何面向公众的问题。您只需为 API 服务和 REST 客户端测试编写集成测试来验证常见情况和明显的例外情况。

听起来很多,而且确实如此。但是,如果您花时间了解您的工具并在任何地方设置自动化,您会惊讶于您可以快速完成多少。

希望这可以帮助。

于 2013-10-05T18:53:46.440 回答