微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Mockito – 注入模拟列表

我有以下代码

@Component 
public class Wrapper
{ 
    @Resource 
    private Listterate over "strategies"
        return strategies.stream()
            .filter(strategy -> strategy.isApplicable(id))
            .findFirst().get().getAmount(id);
    } 
}
@Component 
public class StrategyA implements Strategy{...}

@Component 
public class StrategyB implements Strategy{...}

我想用Mockito为它创建一个测试.
我写的测试如下:

@InjectMocks
private Wrapper testedobject = new Wrapper ();

// I was hoping that this list will contain both strategies: strategyA and strategyB
@Mock
private Listdobject.getName(ID);
}

我在线获得NullPointerException:

filter(strategy -> strategy.isApplicable(id))

,其中声明“策略”列表已初始化但为空.
有没有什么方法Mohito会像春天一样表现出来?将实现“策略”界面的所有实例自动添加到列表中?

顺便说一句我在Wrapper类中没有任何setter,如果可能的话我想以这种方式保留它.

最佳答案
Mockito无法知道你想把一些东西放在List策略中.

你应该重新考虑一下这样做

@InjectMocks
private Wrapper testedobject = new Wrapper ();

private List

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐