TDD案例

作者: antony已经被占用 | 来源:发表于2018-09-23 22:43 被阅读3次

<Test-Driven Java Development> 中关于TDD的案例:

三连棋游戏 Tic-tac-toe

https://bitbucket.org/vfarcic/tdd-java-ch03-tic-tac-toe/branch/00-setup

这个游戏的介绍可以参见:
https://en.wikipedia.org/wiki/Tic-tac-toe
两人轮流在印有九格方盘上划“+”或“O”字, 谁先把三个同一记号排成横线、直线、斜线, 即是胜者)。以下是这个游戏的一个案例:

719px-Tic-tac-toe-game-1.svg.png

需求1:可将棋子放在3*3棋盘上任何没有棋子的地方

定义边界,以及将棋子放在哪些地方非法。可以有如下的三个测试
1)超出X轴边界
2)超出Y轴边界
3)落子的地方已经有棋子

需求2:需要提供一种途径,用于判断接下来该谁落子

现在处理轮到哪个玩家落子的问题。也可以有如下三个测试:
1)玩家X先下
2)如果上一次是X下的,接下来将轮到O下;
3)如果上一次是O下的,接下来将轮到X下。

需求3:获胜规则,最先在水平、垂直或对角线上将自己的3个标记连起来的玩家获胜

检查是否获胜的用例有
1)如果不满足获胜条件,则无人获胜
2)一个玩家的棋子占据整条水平线就赢了
3)一个玩家的棋子占据整条垂直线就赢了
4)一个玩家的棋子占据从左上到右下角的整条对角线就赢了
5)一个玩家的棋子占据从左下到右上角的整条对角线就赢了

需求4:处理平局,所有各自都占满则为平局

该书还提供了另外一个TDD案例

https://bitbucket.org/vfarcic/tdd-java-ch05-design.git

相关文章

  • TDD案例

    中关于TDD的案例: 三连棋游戏 Tic-tac-t...

  • TDD案例-FizzBuzz-重构

    在之前的的TDD案例-FizzBuzz文章中,我们介绍了如何以TDD的方式,通过5个测试用例,来驱动我们实现了Fi...

  • 深度解读 - TDD(测试驱动开发)

    本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有...

  • 单元测试实践案例-登录

    本实践案例除了学习单元测试外,还在学习实践TDD,Retrofit,RxJava,MVP。最近也在学习摸索,觉得有...

  • TDD和BDD

    TDD(Test-Driven Development)——测试驱动开发 1.为什么使用TDD: 1)TDD根据客...

  • 初识TDD

    什么是TDD 本文所说的 TDD 指狭义上的 TDD,也就是「单元测试驱动开发」。 TDD 是敏捷开发中的一项核心...

  • 为什么TDD很难在项目上推动?

    经常在TDD训练营中有学员提这个问题:学了TDD,在项目上也没法落地,为什么TDD很难在项目上推动? TDD本身就...

  • 轻松TDD之旅

    TDD简介 TDD是什么 TDD一般是Test Driven Development(测试驱动开发)的缩写,它以测...

  • 认识 TDD

    什么是TDD? TDD 有广义和狭义之分,常说的是狭义的 TDD,也就是 UTDD(Unit Test Drive...

  • 测试驱动开发(TDD)总结——原理篇

    标签 | TDD Java 测试驱动开发(TDD)总结——原理篇

网友评论

    本文标题:TDD案例

    本文链接:https://www.haomeiwen.com/subject/ajzfoftx.html