Bug情景
今天在做功能測試時,發現使用使用StringUtils.hasLength()方法以及定價為負數時,添加圖書仍然成功
思考過程
0.1 當時在做參數檢驗時用了spring提供的StringUtils工具包,百度/大數據模型說:
0.2 這里的定價設置的類型是BigDecimal類型
但是在測試的時候卻能添加成功,納悶βヾ(,???,川
- 去看StringUtils的源碼,發現它并不能判斷只包含空白字符串的字符串。
因為它的源碼是這樣的
- 另外,做參數校驗的時候并沒有判斷定價負數非法情況,自然可以是負數
解決
- 字符串參數非法情況–》str.trim().isEmpty()
- 定價負數–》num.compareTo(BigDecimal.ZERO)<0
(修改前端彈窗內容)===》