我想知道在Junit中处理受保护方法的好方法。
假设我想测试一个名为A的类,它有一个受保护的成员和构造函数。 我明白为了测试类A,我应该编写另一个名为ATest的类,它可以扩展TestCase(这在Junit3中应该是强制的)。因为我想测试一个受保护的方法,并且因为A有一个受保护的构造函数,我的测试类ATest也应该扩展实现该方法的类A,以便能够创建该类并访问该方法。
可以是两个类的双重继承一个很好的解决方案吗?
P.S我已经知道在Junit 4中可以避免来自TestCase的继承。
答案 0 :(得分:17)
要获得对A
受保护成员的访问权限,您只需将A
和ATest
放在同一个程序包中即可。
答案 1 :(得分:1)
Java不允许多重继承实现。您可以实现多个接口。
我更喜欢使用反射来获取我不希望客户知道的测试方法。适用于私人方法。