Вызвать собственный приватный метод для результата в 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);
      }
   };  

работает довольно хорошо.

Другие вопросы по тегам