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

为什么2个@Injectable具有相同类型的成员无法注入构造函数

如何解决为什么2个@Injectable具有相同类型的成员无法注入构造函数

一个Data类,其中有2个Map<String,String>成员:

class Data {
    private Map<String,String> first;
    private Map<String,String> second;
    Data(Map<String,String> first,Map<String,String> second) {
        this.first = first;
        this.second = second;
    }
}

在单元测试中,我打算使用 JMockit Data上进行测试:

public class DataTest {
    @Tested
    priavate Data data;
    @Injectable
    private Map<String,String> first;
    @Injectable
    private Map<String,String> second;
}

不幸的是,运行测试时会有no constructor in tested class...

我试图从构造函数删除一个参数,然后注入将起作用。但是,如果两个参数的类型都为Map ,它将失败。有可能解决这个问题吗?

解决方法

在最新版本的JMockit中,Map不再是可模拟字段。我相信您将需要创建真正的Map类。因此,私有Map 首先=新的HashMap ();

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