Я пытаюсь написать тестовый пример для метода params в классе ниже.Проблемы с записью тестового примера для частного метода
Проблемы при написании тестового JUnit случай:
Проблема заключается в том, что метод является приватным и внутри метода он требует супер методов класса. Я попытался с помощью EasyMock, где я смогу подавить вызовы супер конструкторах класса
CustomListener customListenerMock=createMock(CustomListener.class);
expect(customListenerMock.getParam("CHECK_INTEGRITY")).andReturn(null);
expect(customListenerMock.getParam("WRITE_ANSWER")).andReturn(null);
В документе говорится, что я буду в состоянии подавить эти методы, когда они называются и может дать указанный выходной т.е. нуль в этом дело.
Теперь моя проблема в том, как я могу использовать частный метод тестирования? Я попытался использовать API отражения, но он не работает по желанию.
код:
Method InitialiseSecurityConfiguration = Listener .class.getDeclaredMethod(methodToTest, null);
InitialiseSecurityConfiguration.setAccessible(true);
InitialiseSecurityConfiguration.invoke(fileListenerObj);
Когда я взываю с отражением API, эти методы называются так же, как это и супер CLAs методы не подавляются, как хотелось бы.
Примечание: Я использую устаревшее приложение и не разрешено изменять видимость моих методов.
class Listener extends CustomListener{
/*
Some More methods
*/
private boolean params()
{
String integrity = "";
String sWAnswer = "";
try
{
try
{
integrity = super.getParam("CHECK_INTEGRITY");
sWAnswer = super.getParam("WRITE_ANSWER");
**Some Business Logic**
super.info("Request Directory : " + sRequestPath);
super.info("Response Directory : " + sResponsePath);
super.info("Error Directory : " + sErrorPath);
}
}
catch (Exception ex)
{
bCheck = false;
}
return bCheck;
}//closing the method params
}//Closing Listener class