我正在尝试为checkRegistry方法编写一个测试用例,这是一个私有方法,我正在使用PowerMock-EasyMock-Juint来实现这一点。
现在测试这个方法我想要抑制对超级调用方法的调用 例如:
intigration = super.getParam("integritycheck");
我不希望调用转到superClass方法,但同时我希望设置变量集成。我怎么知道这个?
困难是
super.getParam("integritycheck"); and
sTmpOverride = super.getParam("RESPONSE_OVERRIDE"); will return different results.
我正在尝试编写单元测试的方法。
private String checkRegistry()
{
String intigration = "";
String sresponse = "";
try
{
try
{
intigration = super.getParam("integritycheck");
sresponse = CustomImpl.getParam("responseWrite");
**Some Business Logic**
sTmpOverride = super.getParam("RESPONSE_OVERRIDE");
if (sTmpOverride == null) {
this._bRespOverride = true;
} else {
this._bRespOverride = sTmpOverride.trim().equalsIgnoreCase(
"true");
}
sTmpOverride = super.getParam("ERROR_OVERRIDE");
if (sTmpOverride == null) {
this._bErrOverride = true;
} else {
this._bErrOverride = sTmpOverride.trim().equalsIgnoreCase(
"true");
}
**Some Business Logic**
Logging.info("integritycheck : " + intigration );
Logging.info("responseWrite : " + sresponse );
super.track("Error Directory : " + sErrorPath);
}
}
catch (Exception ex)
{
_result= false;
}
return _result;
}
我对使用以下方法感到震惊
suppress(method(CustomRegisterChecker.class, "getParam"));
其中CustomRegisterChecker.class是超类。
UPDATE1:
//Here I am creating a mock for the super class
CustomRegisterChecker customRegisterMock=createMock(AbstractListener.class);
//我正在抑制对超类的调用并给出我自己的回复
expect(abstractListenerMock.getParam("integritycheck ")).andReturn(null);
expect(abstractListenerMock.getParam("responseWrite")).andReturn(null);
但是如何调用和测试方法。我尝试使用Reflection API。但这不起作用。它只是简单地运行程序,压制超类方法不会发生在这里。