首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >纸牌游戏应用程序的TDD是哪一类的?接下来的5-7测试是什么?

纸牌游戏应用程序的TDD是哪一类的?接下来的5-7测试是什么?
EN

Software Engineering用户
提问于 2012-06-04 21:02:31
回答 5查看 937关注 0票数 3

我已经开始写纸牌游戏应用程序了。一些模型类:

  • CardSuit,CardValue,卡片
  • IDeckCreator,RegularDeckCreator,DoubleDeckCreator

还有一些游戏课:

  • 转弯,TurnHandler
  • IPlayer,ComputerPlayer,HumanPlayer
  • IAttackStrategy,SimpleAttachStrategy,IDefenceStrategy,SimpleDefenceStrategy
  • GameData,游戏

已经写好了。我的想法是创建引擎,在那里两个电脑玩家可以玩游戏,然后我可以添加UI部分。

我已经读了一段时间关于测试驱动开发(,TDD)的文章,我想从头开始编写应用程序,因为目前我倾向于编写不需要的代码,这在将来似乎是有用的。此外,代码没有任何测试,现在很难添加它们。

似乎TDD可以改善所有这些问题--最低限度的所需代码,良好的测试覆盖率,并有助于正确的应用程序设计。

但我有一个问题-我不能决定从哪里开始TDD?我应该从与底层卡相关的课程开始,还是在顶级游戏,TurnHandler,.?

你要从哪一节课开始?接下来的5到7次测试是什么?(使用你最熟悉的纸牌游戏)

我想开始TDD与您的帮助,然后继续我自己!

EN

回答 5

Software Engineering用户

回答已采纳

发布于 2012-06-04 21:39:32

下面呢。{}是下一步的提示,在此之后,我也将进入特定的属性。

  1. 存在一组卡片{ pack }
  2. 该软件包有52张卡{卡和包-卡号}
  3. 卡片有4套{Card属性}
  4. 每套衣服都有A,2-10,J,Q,K {Card属性}
  5. 游戏被选中。{游戏实例}
  6. 玩家被选中{播放器实例}
  7. 卡片被洗牌了。{Shuffle方法(S)}
  8. 牌是发的。{交易方法(S)}
  9. 每个人都在玩。{玩法(S)}
  10. 只有一个人能赢。{游戏方法的一部分,可能调用Win method }
  11. 结束游戏。{EndGame方法}
票数 7
EN

Software Engineering用户

发布于 2012-06-04 21:27:42

我将从最低级别的对象开始,这些对象可能需要编写很少的测试,因为它们大多返回属性,如西装和颜色。

一旦您有了基本对象,就可以开始为行为方法添加测试,以及为那些导致这些基本对象相互交互的方法添加测试。

票数 3
EN

Software Engineering用户

发布于 2012-06-04 21:42:18

如果您真的想接受测试驱动的开发,那么您可以从忘记已经编写过任何代码开始。(不要把它扔掉,只要把它放在脑中就行了。)然后问问自己,如果你还没有编写任何代码,你会写哪个测试。你想先断言什么?回答这个问题,然后开始TDD周期:

  1. 写一个不及格的测试。
  2. 更改您的代码以使其成功。
  3. 重复一遍。

你从哪里开始并不重要,只要它对你有意义。似乎您已经对如何设计应用程序有了扎实的了解。太好了,所以不要害怕写糟糕的测试。随着时间的推移,你会掌握它的诀窍,并能改进它们。

记住,测试是为了防止您(和其他人)对代码进行负面更改。它们是您正在定义的“契约”,这样您不仅可以进行可执行测试,而且还可以参考您预期的代码工作方式。因此,从编写测试开始,向您描述您的代码应该做什么。如果你仍然不确定某件事情会如何运作,那就尝试一些想法(通过编写测试),直到它变得有意义为止。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/151549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档