首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jmockit期望NPE

jmockit期望NPE
EN

Stack Overflow用户
提问于 2013-10-31 10:40:16
回答 1查看 242关注 0票数 0

我有一段代码:

代码语言:javascript
复制
new Expectations(){
    {

    mFubar.getModel();
    result = new Model();
    times = 1;

    mFubar.getModel().getAllDogs();
    result = new HashSet<Dogs>();
    times = 1;
    }
};

不幸的是,对于mFubar.getModel(),我总是得到一个空值。

如何为getModel()创建一个模拟值以使mFubar.getModel().getAllDogs();正确工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-31 14:57:17

您将得到一个NPE,因为对mFubar.getModel()的第二个调用,就像第一个调用一样,返回null。您不能在期望记录块中使用记录的结果;这些值只能从测试代码中获得。

此外,这里似乎没有对Model类进行模拟,所以尝试记录对getAllDogs()的调用也是行不通的。为此,您需要声明一个@Mocked Model model模拟字段或模拟参数。

最后,具有集合(List、Set、Map等)的模拟方法的默认返回值。因为它的返回类型已经是一个空集合。因此,编写result = new HashSet<Dog>();无论如何都是多余的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19704270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档