[关闭]
@EdwinTang 2016-04-19T23:19:15.000000Z 字数 1159 阅读 1293

TDD之具体实施----原理篇1

DDT具体实施


TDD原理及实现方法7步曲

第一步.沟通好业务想要什么,并转化成测试

1.确定好业务场景
2.确定好实施方法
3.第一步开始写测试(注意,你真的没有听错,是需要你先写测试)
详细代码清单如下:

  1. package com.edwin.DDTSample.Testing;
  2. import org.testng.annotations.Test;
  3. public class DDTSampleTesting {
  4. // [步驟1]:思考业务场景
  5. // [最终业务效果]:我们希望:在页面首页,用户名是可变的,能展示Hello,用户名。
  6. // [實現方法]
  7. // 1.用户名传入到变量,以便保存變更以便使用(首先有一个类可让我们传入用户名,其它有写入变量的一个方法set)
  8. // 2.可以读取到这个变量(需要有一个evaluate能读取变量)
  9. // 3.确保网页展示正确
  10. @Test
  11. public void oneVariable() throws Exception{
  12. Template template=new Template("Hello,${name}");
  13. template.set("name","Reader");
  14. Assert.assertEquals("Hello,Reader",template.evaluate());
  15. }
  16. }

第二步.进行测试发现问题

1.没有类
2.没有接收变量的类
3.没有写变量的方法
4.没有读变量的方法
Selection_050.png-63.2kB

第三步.对标测试问题进行开发

这样你会发现,其实我们需要去:
1.创建一个Template类、
2.指定一个能接收String类型的构造函数
3.需要有一个写入变更的set方法
4.需要有一个读取变量的evaluate方法

  1. package com.edwin.DDTfSample;
  2. public class Template {
  3. // 带参数构造函数
  4. public Template(String name){
  5. }
  6. // 设置用户名方法
  7. public void set(String variable, String value){
  8. }
  9. // 取用户名方法
  10. public String evaluate(){
  11. return null;
  12. }
  13. }

第四步.再测试

1.编译器不在提示错误信息
Selection_051.png-63.3kB
2.测试不能正常通过
Selection_052.png-103.3kB

第五步.再优化代码

  1. package com.edwin.DDTfSample;
  2. public class Template {
  3. // 带参数构造函数
  4. public Template(String name){
  5. }
  6. // 设置用户名方法
  7. public void set(String variable, String value){
  8. }
  9. // 取用户名方法
  10. public String evaluate(){
  11. return "Hello,Reader";
  12. }
  13. }

第六步.再测试

1.测试能正常通过
Selection_053.png-83.9kB

第七步.思考测试能否满足另外的用户"Edwin"

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注