java.util.IllegalFormatFlagsException:标志=''

时间:2018-12-31 10:31:33

标签: java hamcrest

我正在使用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粒,beaure de noisettesgrillées   黑色巧克力,1公斤贝拉德开心果格栅,阿曼德斯山脉   黑人巧克力味烤面包,阿曼德斯河畔伯尔-喧闹声-卡茹,   可可之城”


  

排序后的产品名称:[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-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,关于乳清的坚果]]

但低于assertThat(oldProductNames, contains(sortedList.toArray()));的错误

  

java.util.IllegalFormatFlagsException:标志=''

1 个答案:

答案 0 :(得分:1)

使用assertThat(oldProductNames, contains(sortedList.toArray()));
时 您正在遵循此模式assertThat(actual, contains(expected));

oldProductNames包含%号,当将其传递到assertThat方法中时,实际上是在传递格式说明符。

其结果是,space选择了紧跟在所述格式说明符之后的java.util.IllegalFormatFlagsException作为前导空格,从而引发了此异常。