CodeKata练习之Tennis Game,我的第一个TDD

    下午做入职的TDD培训练习,CodeKata上的网球比赛练习。

    初看题时,人是懵的。我大概不知道我是谁,我在哪,谁在打我。想着费帅,纳豆,娜姐的网球比赛,瞬间想到:这不就是一局网球比赛对各种比分情况输出当前比赛结果嘛。

    来,官网任务翻译的低配版如下:

    1. 赢的人至少需要3点,并且比对手高出2点;

    2. 0对应love,1对应fifteen 15,2对应thirty 30,3对应 fourty 40;

    3. 当双方都取得3点(就是都拿了40分),双方进入 deuce;

    4. 都取得3点后,一方拿到4点,则该方先取得AD(Advanced简写啦)。

    所以,测试用例就能写出来了噻。来,第一个用例(伪代码):

    input:0 vs 0,output:love all

    TDD开始,第一个测试用例的开发代码最简单,写一个getScore函数,参数是双方比赛点数,输出 love all

  测试通过,继续写测试用例(伪代码)

    input:1 vs 1,output:fifteen all

    跑测试,第二个明显不通过,TDD继续。想到双方比分相同,也输出 xxx all。于是,getScore函数增加双方点数相等与否的判断,我还加了一个 点数和分数 的Map,对应关系就是 翻译2 。这样,根据双方当前点数,若相同,输出    点数对应的分数 all

    测试通过,继续写测试用例,考虑到双方都取得40分时,进入 deuce,此时输出 deuce 而不输出 fourty all。测试用例(伪代码)如下:

    input:3 vs 3,output:deuce

  这个时候,对同3点的情况就特殊考虑,在相同点数下加一个if判断,如果是3点,则输出 deuce,否则输出 xxx all。

    测试通过,未完待续,准备煮面


    晚上交作业后再补充


    不补充了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,064评论 19 139
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 11,703评论 5 101
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,274评论 7 278
  • 此处悼念1986年1月28日挑战者号航天飞机事故中丧生的七名优秀的宇航员 接下来大家带着以下问题去阅读此书《程序员...
    奥卡姆剃须刀阅读 6,353评论 2 5
  • 目录 引言 创建SpringPackage工程 添加请求接口 安装maven jar打包部署 war打包部署 小结...
    诺之林阅读 10,996评论 1 4

友情链接更多精彩内容