假设我正在开发一个数据库应用程序,并且我有许多实体类,即客户、订单、产品等。我想为这些(真实的和模拟的)开发存储库,但我不想复制代码所以我创建一个基本实体类和一个包含我的 CRUD 代码的存储库泛型。我的问题是,在“适当的”TDD 环境中,我将如何开发它?
我的第一直觉是从一个实体(例如客户)开始,然后为每个 CRUD 任务完成 TDD 循环,然后当我写完大部分内容时,从另一个实体开始,依此类推。但是,如果我正确地设计了我的架构,那么在我为所有其他实体编写测试之前,我就会为所有其他实体提供有效的 CRUD 支持。我对“好”TDD 的印象是,您只编写失败的测试,然后为每个测试编写代码以使其通过。
仅针对其实现的通用部分测试单个实体是一种不好的形式吗?泛型通常如何使用 TDD 开发?