最佳答案
在 TDD 开发中,您通常要做的第一件事情是创建接口,然后开始针对该接口编写单元测试。随着 TDD 过程的进行,您最终将创建一个实现接口的类,然后在某个时候您的单元测试将通过。
现在我的问题是,为了支持接口公开的方法/属性,我可能必须在类中编写私有和受保护的方法:
类中的私有方法应该有自己的单元测试吗?
类中受保护的方法是否应该有自己的单元测试?
我的想法是:
特别是因为我正在编写接口代码,所以我不应该担心受保护/私有方法,因为它们是黑盒子。
因为我使用的是接口,所以我编写单元测试来验证定义的契约是否由实现接口的不同类正确实现,所以我不必担心私有/受保护的方法,它们应该通过调用接口定义的方法/属性的单元测试来执行。
如果我的代码覆盖率没有显示受保护/私有方法被访问,那么我就没有正确的单元测试,或者我的代码没有被使用,应该被删除。