Невозможно издеваться над частным методом с mockito

Я пытаюсь издеваться над частным методом с помощью power mockito, после прочтения этого поста у меня появилась идея, и я следовал той же структуре:

пример

вот мой класс:

public class test(){
  private long verifyMarketEligibilityAndGetOfferDeliveryCalendar(long id)
  {
    some lins of code for connectiong to db
  }
  public long createOffer(long id){

    return verifyMarketEligibilityAndGetOfferDeliveryCalendar(id);
  }

}

И вот мой пробный тест:

test classUnderTest = PowerMockito.spy(new test());
        PowerMockito.doReturn(10).when(classUnderTest,
                "verifyMarketEligibilityAndGetOfferDeliveryCalendar", 10l);
        classUnderTest.createOffer(10);

Теперь я ожидаю, что после вызова createoffer, verifyMarketEligibilityAndGetOfferDeliveryCalendar не вызывается и вместо этого возвращается число 10, но по какой-то причине программа начинает выполнять класс verifyMarketEligibilityAndGetOfferDeliveryCalendar и, следовательно, код, связанный с БД.

Кто-нибудь может помочь?


person Hamed Minaee    schedule 22.02.2016    source источник
comment
У вас есть @PrepareForTest в вашем тестовом классе?   -  person    schedule 22.02.2016
comment
OOOPPPPS да, какая глупая ошибка, я бы хотел, чтобы вы добавили в качестве ответа, тогда я мог бы принять это   -  person Hamed Minaee    schedule 22.02.2016
comment
Вам нужно на несколько баллов больше, чем мне, добавьте свой ответ «Я понял» и примите его: o   -  person    schedule 22.02.2016


Ответы (1)


PowerMockito нуждается в объявлении этих аннотаций.

@RunWith(PowerMockRunner.class)
@PrepareForTest(classUnderTest.class)
person AZ_    schedule 07.12.2016