我们正在构建一个可供其他开发人员使用的框架,目前我们一直在使用大量的 TDD 实践。我们到处都有接口,并且有编写良好的模拟接口的单元测试。
然而,我们现在已经达到了输入类的一些属性/方法需要是内部的,并且对我们的框架用户不可见的地步(例如对象 ID)。那么问题是我们不能将这些字段/方法放在界面上,因为界面没有描述可访问性。
我们可以:
- 在方法的第一行仍然使用接口和向上转换,但这似乎违背了接口的目的。
- 使用类作为输入参数——打破一切都应该是接口的 TDD 规则
- 提供另一层,在公共接口和内部接口之间进行一些转换
是否有现有的模式/方法来处理这个问题?TDD 人们说应该做什么?