Java 如何访问abtract类中受保护方法中的布尔变量
只是想知道我如何才能使用WhiteboxImpl.getInternalState(类名,“x”);我想得到x的值,它是一个布尔值。x位于抽象类(我已经模拟过)下的受保护方法中,但每当我运行junit测试时,它都会说在类的继承权中找不到字段。有办法访问x吗?提前谢谢Java 如何访问abtract类中受保护方法中的布尔变量,java,unit-testing,junit,powermockito,Java,Unit Testing,Junit,Powermockito,只是想知道我如何才能使用WhiteboxImpl.getInternalState(类名,“x”);我想得到x的值,它是一个布尔值。x位于抽象类(我已经模拟过)下的受保护方法中,但每当我运行junit测试时,它都会说在类的继承权中找不到字段。有办法访问x吗?提前谢谢 public abstract class abstractClass { String sampletext; int sampleint; public abstractClass (String sam
public abstract class abstractClass {
String sampletext;
int sampleint;
public abstractClass (String sampletext, int sampleint) {
this.sampletext = sampletext;
this.sameplint = sampleint;
}
protected void protectedMethod(ServerSocketChannel samplechannel) {
try{
boolean x = false;
if (SocketChannel != null) {
Socket samplesocket = SocketChannel.socket();
if(samplesocket.isConnected()) {
x = true;
}
}
`
编辑。
基本上代码是这样的。我正在努力
WhiteboxImpl.getInternalState(absClass,“x”);
它只返回类层次结构中找不到的字段。也许去球场是不可能的。。?我的最终目标是assertTrue x,以证明测试用例进入junit测试的if条件。因为这是一个无效的方法,我不知道除此之外还能断言什么
ps.absClass是抽象类的模拟实例。
x
是否在受保护的方法中?也就是说,它是一个局部变量?很有可能你根本就无法访问它。你能发布代码吗?我不确定我是否被允许,这是我们公司的软件,存在保密问题。基本上,问题正如我所描述的那样。但我会用伪代码编辑我的帖子。