Вызвать собственный приватный метод для результата в jmockit
Я получил этот код в моем Junit:
new NonStrictExpectations(mPersonEvaluator) {
{
invoke(mPersonEvaluator, "doEvaluatePerson", withAny(String.class), withAny(Integer.class), withAny(Integer.class));
result = doEvaluatePerson((String)any, (Integer)any, (Integer)any);
}
};
Я хочу получить результат из моего частного метода doEvaluatePerson((String)any, (Integer)any, (Integer)any);
каждый раз, когда метод doEvaluatePerson вызывается в бизнес-логике mPersonEvaluator
, Вызов работает нормально, но результат вычисляется только один раз во время настройки junit
и этот результат нулевой. У меня вопрос, как я могу объявить такой вид использования в jmockit
так что макет использует мой приватный метод?
Заранее спасибо
Стефан
1 ответ
Решение
Хорошо, я нашел ответ. Одним из возможных решений является использование Delegator
как это:
result = new Delegate<PersonArt>() {
PersonArt delegator(String pShortName, Integer pOld, Integer pSize)
{
return doEvaluatePersonArt(pShortName, pOld, pSize);
}
};
работает довольно хорошо.