命名解释:

given、when、then对应解释

准备,执行,和校验

  1. 下划线命名法
    无论是前端JS、TS项目还是后端Java项目,我们一致使用下划线命名法,前缀一般是should_xxx_when_xxx_given_xxx,这样做的好处,一是易读,二是可以相对很长和准确的的表达测试,方法名对应我们测试Case中的then,when,given。

案例:

你是一名体育老师,体育课中你想组织学生玩一个游戏,游戏规则如下:

  1. 让所有学生排成一队,然后按顺序报数
  2. 学生报数时,如果是3的倍数则不能说该数字,要说Fizz,5的倍数要说Buzz,7的倍数要说Whizz
  3. 学生报数时,如果所报的数字同时是两个特殊数的倍数情况下要特殊处理,比如3和5的倍数要说FizzBuzz以此类推,如果同时是三个特殊数的倍数要说FizzBuzzWhizz
  4. 学生报数时,如果不满足以上则报数字本身

拆分小任务:

  1. given 3 倍数 when 报数 then Fizz
  2. given 5 的倍数 when 报数 then Buzz
  3. given 7 的倍数 when 报数 then Whizz
  4. given 3 和5的倍数 when 报数 then FizzBuzz
  5. given 3和7的倍数 when 报数 then FizzWhizz
  6. given 5 和7的倍数 when 报数 then BuzzWhizz
  7. given 3和5和7 的倍数 when 报数 then FizzBuzzWhizz
  8. given 其它 when 报数 then 本身