如何将 TDD 用于执行大量网络请求的项目?
How to use TDD for a project that does a lot of network requests?
我在一家初创公司工作,我厌倦了编辑和祈祷的开发周期(以及缓慢的开发时间),想引入一些 TDD 原则。我正在考虑为我们的 python 项目设置它,该项目将生产代码推送到 AWS GCE 和 Azure 等各种平台。我不知道如何编写涵盖生产代码推送所有情况的快速单元测试。我需要测试删除和创建 images/instances 等需要很长时间的事情。有什么方法可以快速对此进行测试,或者 TDD 不是此类项目的正确方法吗?
进行生产推送的测试不再是单元测试,而是系统测试或功能测试,因此对 运行 来说将是重量级的。
一般来说,您应该在单元测试中测试您为应用程序编写的代码,并且 运行 经常测试它们,并且您应该 运行 functional/system 定期但异步地进行测试,例如,作为持续集成的一部分,而不是作为 TDD 式开发的一部分,其中 运行 进行此类测试是您开发的关键路径。
您可以尝试mock/fake这些系统,但这很可能不值得,因为您将无法使用假图像的输出构建,因此测试的其余部分并不真正 运行.
我在一家初创公司工作,我厌倦了编辑和祈祷的开发周期(以及缓慢的开发时间),想引入一些 TDD 原则。我正在考虑为我们的 python 项目设置它,该项目将生产代码推送到 AWS GCE 和 Azure 等各种平台。我不知道如何编写涵盖生产代码推送所有情况的快速单元测试。我需要测试删除和创建 images/instances 等需要很长时间的事情。有什么方法可以快速对此进行测试,或者 TDD 不是此类项目的正确方法吗?
进行生产推送的测试不再是单元测试,而是系统测试或功能测试,因此对 运行 来说将是重量级的。
一般来说,您应该在单元测试中测试您为应用程序编写的代码,并且 运行 经常测试它们,并且您应该 运行 functional/system 定期但异步地进行测试,例如,作为持续集成的一部分,而不是作为 TDD 式开发的一部分,其中 运行 进行此类测试是您开发的关键路径。
您可以尝试mock/fake这些系统,但这很可能不值得,因为您将无法使用假图像的输出构建,因此测试的其余部分并不真正 运行.