Если вы хотите протестировать закрытый метод с Powermockito, и этот закрытый метод имеет синтаксис:
private int/void testmeMethod(CustomClass[] params){
....
}
в вашем методе класса тестирования:
CustomClass [] params = new CustomClass []{...} WhiteboxImpl.invokeMethod (spy, "testmeMethod", params)
не будет работать из-за params.Вы получаете сообщение об ошибке, что testmeMethod с этими аргументами не существует. Смотрите здесь:
Класс WhiteboxImpl
public static synchronized <T> T invokeMethod(Object tested, String methodToExecute, Object... arguments)
throws Exception {
return (T) doInvokeMethod(tested, null, methodToExecute, arguments);
}
Для аргументов типа Array PowerMock испорчен.Поэтому измените это в своем методе тестирования следующим образом:
WhiteboxImpl.invokeMethod(spy,"testmeMethod",(Object) params)
У вас нет этой проблемы для частных методов без параметров.Насколько я помню, это работает для параметров типа Primitve типа и класса-оболочки.
«Понимание TDD - это понимание Software Engineering»