用JUnit对JAVA进行白盒测试,对于protected和private的方法如何测试?

时间:2021-12-18 05:12:20
用JUnit对JAVA进行白盒测试,对于protected和private的方法如何测试?

7 个解决方案

#1


这个也是我想知道的!

#2


protected可以由子类直接访问其成员。
private可以通过类的非私有方法间接访问他们,例如:
class A
{
  int i1=1;
  public int i2=2;
  protected int i3=3;
  private int i4=4;
  int get_i4(){return i4;}
}

class B extends A
{  
  int b=5;
}

A a_obj=new A();
textArea1.append("A:"+a_obj.i1+""+a_obj.i2+""+a_obj.i3+""+a_obj.i4+"\n");
B b_obj=new B();
textArea1.append("B:"+b_obj.i1+""+b_obj.i2+""+b_obj.i3+""+b_obj.get_i4()+""+b_obj.b);

运行结果:
A:1 2 3 4
B:1 2 3 4 5

#3


俺很想知道,为什么要对Protected和Private的方法测试呢?

#4


protected的方法可以通过继承一个子类并把方法的可见性设为public即可。设计成private的方法只是类内部使用的。我觉得没有必要进行测试。

#5


private没有必要测,我们应该主要测试接口

#6


为什么Protected和Private方法就不需要测试呢?
内部调用的函数就不需要测试了吗?

#7


c++的话有friend
java可以自己增加类的测试接口。

类的私有和保护成员都需要测试。C++friend的一个重要用途就是用来做测试的,可以参考
http://www.artima.com/intv/elegance.html by 
Bjarne Stroustrup

#1


这个也是我想知道的!

#2


protected可以由子类直接访问其成员。
private可以通过类的非私有方法间接访问他们,例如:
class A
{
  int i1=1;
  public int i2=2;
  protected int i3=3;
  private int i4=4;
  int get_i4(){return i4;}
}

class B extends A
{  
  int b=5;
}

A a_obj=new A();
textArea1.append("A:"+a_obj.i1+""+a_obj.i2+""+a_obj.i3+""+a_obj.i4+"\n");
B b_obj=new B();
textArea1.append("B:"+b_obj.i1+""+b_obj.i2+""+b_obj.i3+""+b_obj.get_i4()+""+b_obj.b);

运行结果:
A:1 2 3 4
B:1 2 3 4 5

#3


俺很想知道,为什么要对Protected和Private的方法测试呢?

#4


protected的方法可以通过继承一个子类并把方法的可见性设为public即可。设计成private的方法只是类内部使用的。我觉得没有必要进行测试。

#5


private没有必要测,我们应该主要测试接口

#6


为什么Protected和Private方法就不需要测试呢?
内部调用的函数就不需要测试了吗?

#7


c++的话有friend
java可以自己增加类的测试接口。

类的私有和保护成员都需要测试。C++friend的一个重要用途就是用来做测试的,可以参考
http://www.artima.com/intv/elegance.html by 
Bjarne Stroustrup