测试驱动开发TDD(3)
作者:网络转载 发布时间:[ 2014/1/20 15:46:21 ] 推荐标签:测试技术
上一篇我剩下的To-Do-List:
猜测数字
输入验证
生成答案
输入次数
输出猜测结果
争取全部搞定。
现在我们Guesser、生成答案、输入验证都有了。把它们组装成一起摇身一变成一个Game!
用一个类把这些职责单一的小模块组合起来。我暂且称它为GameManager.
分析剩下的需求。(1)输入6次GameOver.(2)输入合法数字返回猜测结果。(3)游戏结束提示重新开始游戏。(4)中途输入exit 退出游戏。(5)输入正确答案,GameOver。
先把之前写的Guesser提出一个接口。
public interface IGuesser
{
string AnswerNumber { get; }
string Guess(string inputNumber);
}
public class Guesser :IGuesser
{
public string AnswerNumber { get; private set; }
public Guesser(IAnswerGenerator generator)
{
AnswerNumber = generator.Generate();
}
public string Guess(string inputNumber)
{
...
}
}
Test First.
新建GameManagerTest
[TestClass]
public class GameManagerTest
{
[TestMethod]
public void should_return_game_over_when_input_times_is_six_and_result_is_wrong()
{
IGuesser guess = new Guesser(new AnswerGeneratorForTest());
var game = new GameManager(guess);
var input = "1368";
var maxtimes = 6;
var actual = false;
for (var time = 0; time < maxtimes; time++)
{
game.Guess(input);
}
actual = game.IsGameOver;
Assert.AreEqual(true, actual);
}
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11