我正在学习TDD,最近正在寻找如何正确测试私有方法的方法。 Stack Overflow中的流行答案提示:将私有方法更改为受保护或包私有单元测试 - 好还是不好?
根据注释部分分歧,似乎每个人都有自己的规则。然后我发现这个tutorial site暗示了一个相当大胆的方法。
- 制造
private
方法protected
或package private
。把测试代码放在同一个软件包中。设计的可测试性设计意味着你的代码,使其更容易测试。要做到这一点,你可能不得不打破我们在大学学到的一些原则,比如封装。
尽管TDD的原则设计代码的可测试性,破坏了封装为不健全适合我。这种方法是一个好的方法吗?
如果一定要我选择,我会选择测试覆盖率超过封装的任何一天。 – Robert
@罗伯特但是,由于每一种私人方法都迫使我选择,是不是意味着不再有私人方法了? – user2652379