1、需要对参数必填及长度校验,但where块每个变量都要赋值太麻烦
示例:
def "维保查询下单:参数校验->失败"(BizCodeEnum bizCode, String operator, String shopCode, String vin) {
given:
def param = new OrderCreateCmd(
bizCode: bizCode,
operator: operator,
shopCode: shopCode,
vin: vin
)
when:
maintainAppService.createOrder(param)
then:
def exception = thrown(ServicePlatformException)
exception.getMessage() == message
where:
bizCode | operator | shopCode | vin | message
null | "test" | "TEST_SHOP_CODE" | "TEST_VIN" | 'bizCode 不能为null'
BizCodeEnum.TEST | "testTooLongTestTooLong" | "TEST_SHOP_CODE" | "TEST_VIN" | 'operator 长度需要在0和20之间'
BizCodeEnum.TEST | "test" | "" | "TEST_VIN" | 'shopCode 不能为空'
BizCodeEnum.TEST | "test" | "TEST_SHOP_CODE" | "" | 'vin 不能为空'
}
解决方法:先定义通用请求参数,然后在实际用例中进行替换:
step1、定义全局请求参数
static OrderCreateCmd param(Map p = new HashMap()) {
return new OrderCreateCmd(
bizCode: p.g