我正在使用Hamcrest Matchers比较2个list<String>
List<String> oldProductNames = (List<String>) ConfigurationManager.getBundle()
.getProperty("productName");
Reporter.log("Unsorted Product Name : " + oldProductNames);
Collections.sort(oldProductNames);
Reporter.log("Sorted Product Name : " + oldProductNames);
List<String> sortedList = getAllProductNamesFromListing("excludeOOS");
Reporter.log("Sorted By Web Site : " + sortedList);
assertThat(oldProductNames, contains(sortedList.toArray()));
输出看起来像:
未分类的商品名称:[nehatestbundlenew2,nehatestbundlenew,beurre
decacahuètes100%naturel,百慕达烧烤1公斤,beurre de
noix de cajou格栅1公斤,关于乳清的坚果,beurre de noisettes 1
公斤,becare decacahuètesaux 4粒,beurre de noisettesgrillées
黑色巧克力,1公斤贝拉德开心果格栅,阿曼德斯山脉
诺瓦古柯黑巧克力(gouréesau chocolat noir),伯尔·达曼德斯(beurre d'amandes)-noisettes-cajou
可可之城
分类商品名称:[beurre d'amandes-noisettes-cajou,beurre
d'amandesgrillées1公斤,bourre d'amandesgrilléesau chocolat noir,
卡科维特之心,卡科维特之心,100%
naturel,4粒beurre decacahuètesaux,1 kg beurre de noisettes,
诺贝尔巧克力和黑巧克力
烧烤1公斤,开心果1公斤,nehatestbundlenew,
nehatestbundlenew2,关于乳清的坚果]
按网站排序:[beurre d'amandes-诺森特斯-cajou,beurre
d'amandesgrillées1公斤,bourre d'amandesgrilléesau chocolat noir,
卡科维特之心,卡科维特之心,100%
naturel,4粒beurre decacahuètesaux,1 kg beurre de noisettes,
诺贝尔巧克力和黑巧克力
烧烤1公斤,开心果1公斤,nehatestbundlenew,
nehatestbundlenew2,关于乳清的坚果]
但低于
assertThat(oldProductNames, contains(sortedList.toArray()));
的错误java.util.IllegalFormatFlagsException:标志=''
最佳答案
使用assertThat(oldProductNames, contains(sortedList.toArray()));
时
您正在遵循此模式assertThat(actual, contains(expected));
oldProductNames
包含%
符号,当将其传递到assertThat
方法时,实际上是在传递格式说明符。
结果,space
紧接在所述格式说明符之后的java.util.IllegalFormatFlagsException
被作为导致该异常被抛出的前导空格。