@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 举报,一经查实,本站将立刻删除。