fix (接口测试): 修复文档断言长度校验问题
--bug=1008114 --user=赵勇 【接口定义】-编辑接口-添加json文档断言长度等于/不等于 内容校验错误 https://www.tapd.cn/55049933/s/1073003
This commit is contained in:
parent
9200595458
commit
df492f8957
|
@ -19,7 +19,7 @@ public class DocumentUtils {
|
||||||
boolean isTrue = true;
|
boolean isTrue = true;
|
||||||
if (CollectionUtils.isNotEmpty(elementCondition.getConditions())) {
|
if (CollectionUtils.isNotEmpty(elementCondition.getConditions())) {
|
||||||
for (Condition item : elementCondition.getConditions()) {
|
for (Condition item : elementCondition.getConditions()) {
|
||||||
String expectedValue = ifValue(item.getValue());
|
String expectedValue = item.getValue() != null ? item.getValue().toString() : "";
|
||||||
String resValue = objectToString(subj, decimalFormatter);
|
String resValue = objectToString(subj, decimalFormatter);
|
||||||
switch (item.getKey()) {
|
switch (item.getKey()) {
|
||||||
case "value_eq":
|
case "value_eq":
|
||||||
|
@ -32,16 +32,16 @@ public class DocumentUtils {
|
||||||
isTrue = StringUtils.contains(resValue, expectedValue);
|
isTrue = StringUtils.contains(resValue, expectedValue);
|
||||||
break;
|
break;
|
||||||
case "length_eq":
|
case "length_eq":
|
||||||
isTrue = getLength(subj, decimalFormatter) == getLength(item.getValue(), decimalFormatter);
|
isTrue = getLength(subj, decimalFormatter) == numberOf(item.getValue());
|
||||||
break;
|
break;
|
||||||
case "length_not_eq":
|
case "length_not_eq":
|
||||||
isTrue = getLength(subj, decimalFormatter) != getLength(item.getValue(), decimalFormatter);
|
isTrue = getLength(subj, decimalFormatter) != numberOf(item.getValue());
|
||||||
break;
|
break;
|
||||||
case "length_gt":
|
case "length_gt":
|
||||||
isTrue = getLength(subj, decimalFormatter) < getLength(item.getValue(), decimalFormatter);
|
isTrue = getLength(subj, decimalFormatter) > numberOf(item.getValue());
|
||||||
break;
|
break;
|
||||||
case "length_lt":
|
case "length_lt":
|
||||||
isTrue = getLength(subj, decimalFormatter) > getLength(item.getValue(), decimalFormatter);
|
isTrue = getLength(subj, decimalFormatter) < numberOf(item.getValue());
|
||||||
break;
|
break;
|
||||||
case "regular":
|
case "regular":
|
||||||
Pattern pattern = JMeterUtils.getPatternCache().getPattern(expectedValue);
|
Pattern pattern = JMeterUtils.getPatternCache().getPattern(expectedValue);
|
||||||
|
@ -69,7 +69,6 @@ public class DocumentUtils {
|
||||||
} else {
|
} else {
|
||||||
str = ((DecimalFormat) decimalFormatter.get()).format(subj);
|
str = ((DecimalFormat) decimalFormatter.get()).format(subj);
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,13 +83,6 @@ public class DocumentUtils {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String ifValue(Object value) {
|
|
||||||
if (value != null) {
|
|
||||||
return value.toString();
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int getLength(Object value, ThreadLocal<DecimalFormat> decimalFormatter) {
|
private static int getLength(Object value, ThreadLocal<DecimalFormat> decimalFormatter) {
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
if (value instanceof Map) {
|
if (value instanceof Map) {
|
||||||
|
@ -106,6 +98,16 @@ public class DocumentUtils {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static long numberOf(Object value) {
|
||||||
|
if (value != null) {
|
||||||
|
try {
|
||||||
|
return Long.parseLong(value.toString());
|
||||||
|
} catch (Exception e) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public static String documentMsg(Object resValue, String condition) {
|
public static String documentMsg(Object resValue, String condition) {
|
||||||
String msg = "";
|
String msg = "";
|
||||||
|
@ -125,5 +127,4 @@ public class DocumentUtils {
|
||||||
}
|
}
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue