如何在具有分层架构的企业应用程序上应用 TDD?
我想知道如何将 TDD 应用于具有以下内容的应用程序
- WPF 应用程序(6-7 个屏幕)
- 3-4 模块(棱镜模块)
- 一些应用服务(日志、异常处理、安全、授权、核心业务服务库)
- 数据访问层(使用实体框架)
- 一堆 WCF 服务
据我了解,首先是使架构正确。结果,组件被识别。接下来是独立开发组件,我卡在那里。
使用 TDD,(组件的)设计会随着时间而发展。对于组件,以下是(我认为)使用 TDD 的方式
- 识别所有用例
- 识别所有测试用例
- 对于每个测试用例,编写所有场景,并为每个场景编写一个失败的测试用例。编写少量代码,以便通过测试用例。添加到列表,如果发现新场景
- 遵循 Red-Green-Refactor 直到所有测试用例(对应所有场景)都通过
- 在重构中,不要忘记 DRY、YAGNI、Mocking、DI 等。
- 最终结果是设计良好的组件(设计得有多好取决于开发人员的经验和技能)。
我面临的问题是,对于一个组件,在我到达 TDD 过程的第 6 步之前,我不知道接口。由于有多个组件,多个团队,没有人确定他们会想出什么。
现在根据上述情况总结问题
- 我缺少一些基础知识吗?如果是,请向我指出适当的资源。
- 如何在分层架构上应用 TDD?
- 如何做多个组件的并行开发
- 使用 WPF UI (PRISM) 的 TDD 最佳实践
- 带数据库的 TDD 最佳实践(使用实体框架)
- 使用 TDD 时如何确定 WCF 服务合同?