[英]Can not mock the private method with mockito
I am trying to mock a private method with power mockito, after reading this post I got some idea and I followed the same structure: 我试图用power mockto模拟一个私有方法,阅读这篇文章后我得到了一些想法,我遵循相同的结构:
here is my class: 这是我的班级:
public class test(){
private long verifyMarketEligibilityAndGetOfferDeliveryCalendar(long id)
{
some lins of code for connectiong to db
}
public long createOffer(long id){
return verifyMarketEligibilityAndGetOfferDeliveryCalendar(id);
}
}
And here is my mock test: 这是我的模拟测试:
test classUnderTest = PowerMockito.spy(new test());
PowerMockito.doReturn(10).when(classUnderTest,
"verifyMarketEligibilityAndGetOfferDeliveryCalendar", 10l);
classUnderTest.createOffer(10);
Now I expect that after calling createoffer, verifyMarketEligibilityAndGetOfferDeliveryCalendar does not invoke and instead number 10 returns but for some reason program start executing the verifyMarketEligibilityAndGetOfferDeliveryCalendar class and consequently db related code . 现在我希望在调用createoffer之后,verifyMarketEligibilityAndGetOfferDeliveryCalendar不会调用而是返回10个返回但由于某种原因,程序开始执行verifyMarketEligibilityAndGetOfferDeliveryCalendar类,从而执行db相关代码。
Can anyone help? 有人可以帮忙吗?
PowerMockito needs those annotations to be declared. PowerMockito需要声明这些注释。
@RunWith(PowerMockRunner.class)
@PrepareForTest(classUnderTest.class)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.