测试驱动开发TDD(2)
作者:网络转载 发布时间:[ 2014/1/17 11:30:54 ] 推荐标签:TDD 驱动开发
AnswerGenerator给产品代码用。AnswerGeneratorForTest给测试代码用。这样可以避免测试依赖可变的问题。
相应的给Guesser类以及测试代码做个修改。
public class Guesser
{
public string AnswerNumber { get; private set; }
public Guesser(IAnswerGenerator generator)
{
AnswerNumber = generator.Generate();
}
public string Guess(string inputNumber)
{
...
}
}
[TestClass]
public class GuesserTest
{
private Guesser guesser;
[TestInitialize]
public void Init()
{
guesser = new Guesser(new AnswerGeneratorForTest());
}
...
}
这样我在测试代码当中会给一个不可变的随机数。AnswerGeneratorForTest。所以之前的Guesser测试代码也不会因为每次的随机数不一样导致挂掉。
产品代码呢?直接丢AnswerGenerator进去妥妥地。
To-Do-List:
猜测数字
输入验证
生成答案
输入次数
输出猜测结果
OK。的收获。
(1)小步前进:依靠自身情况决定“小步”应该有多大。
(2)重构:之前的测试是我们重构的保障。
(3)测试依赖:测试不应该依赖于一些可变的东西。
都到这了,有没有点TDD的感觉。知道TDD的步骤了吗?
(1)新增一个测试。
(2)运行所有的测试程序并失败。
(3)做一些小小的改动。
(4)运行所有的测试,并且全部通过。
(5)重构代码以消除重复设计,优化设计。
(6)重复上面的工作。实现1~5小范围迭代。直到满足的Story。
上一篇还有个遗留的问题。我把它记在小本上。
相关推荐
更新发布
功能测试和接口测试的区别
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