有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java不能用mockito模拟私有方法

我试图用power mockito模拟一个私有方法,读完这篇文章后,我有了一些想法,我遵循了相同的结构:

example

这是我的课:

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之后,VerifyMarketEligibility和GetOfferDeliveryCalendar不会调用,而是返回数字10,但出于某种原因,程序开始执行VerifyMarketEligibility和GetOfferDeliveryCalendar类,从而执行与db相关的代码

有人能帮忙吗


共 (1) 个答案

  1. # 1 楼答案

    PowerMockito需要声明这些注释

    @RunWith(PowerMockRunner.class)
    @PrepareForTest(classUnderTest.class)