Hamcrest匹配器检查JSON字段值是否为空或为空?

时间:2020-06-30 09:28:10

标签: java json validation matcher hamcrest

我第一次使用hamcrest,我开发了一个框架来验证需要满足某些业务规则的特定JSON字段值,我正在尝试检查JSON中的字段不应为“”或null。请在下面找到代码,matcherOperator针对一个值数组验证JSON字段,例如在ISINARRAY中验证JSON字段是否存在于以下数组值列表[1,2,3,4]中,同样NOTINARRAY验证JSON字段不应该在给定的数组值范围内。我正在尝试检查给定的字段是否为空或我定义的数组,例如[null,“”],并使用NOTINARRAY检查JSON键值不应该为null或“”为null,但是其JSON值为“”它的验证结果为true,我也尝试使用Matchers.blankOrNullString(),但它不起作用,我看到了两个类似类型的问题,但它们属于JUNIT测试的一部分,我尝试使用但不起作用,这是我提到的问题

Hamcrest matcher with slashes is interpreted as a part of validation

Hamcrest check if value is null or empty array

 public <T extends Comparable<T>> Matcher<String> mymatcher(final FieldOperator matcherOperator,
                                                                final List<String> value) 
   {

        switch (matcherOperator) {

            case ISINARRAY: {
                return Matchers.in(value);
            }
            case NOTINARRAY: {

                return Matchers.not(Matchers.in(value));
            }

    } 

我不确定我在哪里做错了,请帮助我解决问题。

0 个答案:

没有答案