单元测试 – 私人/保护方法是否应进行单元测试?

前端之家收集整理的这篇文章主要介绍了单元测试 – 私人/保护方法是否应进行单元测试?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在TDD开发中,你通常做的第一件事是创建你的接口,然后开始编写针对该接口的单元测试。当你通过TDD过程,你会最终创建一个实现接口的类,然后在某些时候你的单元测试将通过。

现在我的问题是关于private和protected方法,我可能需要写在我的类中支持接口暴露的方法/属性

>类中的私有方法应该有自己的单元测试吗?
>类中的受保护方法是否有自己的单元测试?

我的想法:

>特别是因为我编码接口,我不应该担心受保护/私有方法,因为他们是黑盒子。
>因为我使用接口,我编写单元测试来验证合同定义是由不同的类实现接口正确实现,所以我不应该担心私人/保护的方法,他们应该通过单元测试,由接口定义的方法/属性
>如果我的代码覆盖没有显示受保护/私有方法被击中,那么我没有正确的单元测试或我有没有使用的代码,应该删除

不,我不想测试私人或受保护的方法。类的私有和受保护的方法不是公共接口的一部分,因此它们不会暴露公共行为。一般来说,这些方法是在您使测试变成绿色之后通过重构来创建的。

因此,这些私有方法通过断言公共接口的行为的测试隐式测试。

在更哲学的注释,记住,你是测试行为,而不是方法。所以,如果你想到的测试类可以做的事情的集合,只要你可以测试和断言该类的行为像预期的,是否有私有(和保护)方法,在类内部使用实现这种行为是无关紧要的。这些方法是公共行为的实现细节。

猜你在找的设计模式相关文章