我发现你测试私人方法吗上的讨论信息量很大。
我已经决定,在一些类中,我想要有受保护的方法,但要测试它们。
其中一些方法是静态的和简短的。因为大多数公共方法都使用了这些测试,所以我以后可能会安全地删除这些测试。但是为了从TDD方法开始并避免调试,我真的很想测试它们
我想到了以下几点:
- 方法对象的建议在一个答案似乎是多余的。
- 从公共方法开始,当代码覆盖由更高级别的测试提供时,将它们变为受保护的,并删除测试。
- 继承一个具有可测试接口的类,该接口使受保护的方法公开
哪种是最佳实践?还有别的事吗?
看起来,JUnit会自动将受保护的方法更改为公共方法,但我并没有深入了解它。PHP不允许通过反射这样做。