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