我正在写下面的课程:
public class MyClass{
private final MyAnotherClass[][] anotherClasses;
public MyClass(//args){
//initialization
}
//...
}
我想测试这个类,但是不想提供暴露其iternal状态的任何方法(在这种情况下为anotherClasses
数组)。测试将测试数组的状态,因此我们必须访问它。
是否考虑提供一种方法作为一种好的做法,比如说
MyAnotherClass[][] getAnotherClasses(){
retun anotherClasses;
}
package-private
可见度使用 仅 进行测试?我有点不确定。我们介绍了类和它的测试之间的一些恼人的耦合......
也许有更好的方法来解决这个问题?
答案 0 :(得分:1)
如前所述,测试非公开方法不是一个好习惯。但有时如果真的需要我,我会使用番石榴的@VisibleForTesting
注释。