常用测试代码

2021.3.2 java

1.被遗漏测试的代码案例

StockActiveRecord stockActiveRecord = stockActiveRecordService.selectById(stockActiveRecord.getId());
if (stockActiveRecord == null) {    
    stockActiveRecordService.insert(stockActiveRecord);
} else {
    stockActiveRecord.setStatus(CommonStatusEnum.OK.getCode());
    stockActiveRecord.setCreateTime(createTime);
    stockActiveRecord.setUpdateBy(createBy);
    stockActiveRecord.setUpdateTime(DateUtils.getNowDate());
    // 1.易被遗漏 : 代码多造成,还要其他功能干扰
    // 2.定时任务会报异常, 但是系统模拟手动按钮设置值无异常
    int update = posActiveRecordService.update(stockActiveRecord);
}

建议: 每个增删改查都有测试用例覆盖到, 修改后也要运行测试用例

2.List转Map复合Key重复

// 假设数据库biz_my_bank_card保存我身份证的银行卡信息

Map<String, MyBankCard> bankCardMap = myBankCardList.stream().collect(Collectors.toMap(e->unionKey(e), t -> t));

public String unionKey(MyBankCard p) {
    // id + "," + bankid
    return p.getBankId() + "," + p.getCardid();
}

当有数据id和bankid重复时,上面的collect就会报错: ... Duplicate key ...

3.springmvc后台form表单多了1个逗号

因为表单有2个相同的input name导致

4.统计: 起始日期错误,导致数据查询错误

没有边界值测试导致

更新列表:

*

参考文章:

[1]: [2]: [3]:

相关阅读