【发布时间】:2016-12-07 16:33:18
【问题描述】:
我正在尝试使用 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 类并因此执行 db 相关代码。
有人可以帮忙吗?
【问题讨论】:
-
你的测试课上有
@PrepareForTest吗? -
OOOPPPPS 是的,这是一个多么愚蠢的错误,我希望你已经添加作为答案然后我可以接受它
-
你比我更需要一些分数,添加你的“我想通了”的答案并接受它:o
标签: java unit-testing powermockito