编程语言
首页 > 编程语言> > java – JMockit – 模拟期望集合的方法时发出警告

java – JMockit – 模拟期望集合的方法时发出警告

作者:互联网

有没有办法在没有未选中的强制转换警告的情况下让以下模拟工作:

new Expectations() {{
        UrlService.addUrls((List<String>)any); result = expectedCandidates; 
}};

UrlService.addUrls()方法的签名是:

static List<Candidate> addUrls(List<String> urls)

解决方法:

最好的选择是使用T witnAny(T arg)参数匹配器:

new Expectations() {{
    UrlService.addUrls(withAny(new ArrayList<String>()));
    result = expectedCandidates;
}};

或者,如果您的IDE支持,则在本地禁用代码检查.使用IntelliJ,我可以写:

new Expectations() {{
    //noinspection unchecked
    UrlService.addUrls((List<String>) any);
    result = expectedCandidates;
}};

……真的没问题.代码检查很好,但总有一些特殊情况可以禁用它们.

标签:java,unit-testing,junit,jmockit
来源: https://codeday.me/bug/20190623/1269224.html