加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

5分钟踢进TDD之门

发布时间:2020-05-23 03:29:46 所属栏目:程序设计 来源:互联网
导读:作者:fbysss msn:jameslastchina@hotmail.com blog:blog.csdn.net/fbysss 声明:本文由fbysss原创,转载请注明出处 关键字:TDD 测试驱动 敏捷开发 任务:简单测试一个Student类--只求简单,不求繁杂。 从需求开始; 1. 建立TestStudent类,extends TestCase

作者:fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:TDD 测试驱动 敏捷开发

任务:简单测试一个Student类--只求简单,不求繁杂。

从需求开始

1. 建立TestStudent类,extends TestCase

2. 建立testCreate()方法,测试创建,

  1. publiccalssStudentTestextendsjunit.framework.TestCase{
  2. publicvoidtestCreate(){
  3. newStudent(“fbysss”);//出错,因为还没有Student类
  4. }
  5. }

  1. publicclassStudent{
  2. Student(Stringname){
  3. }
  4. }

  1. publiccalssStudentTestextendsjunit.framework.TestCase{
  2. publicvoidtestCreate(){
  3. Studentstudent=newStudent(“fbysss”);
  4. Stringname=student.getName();//出错,因为没有提供getName方法
  5. }
  6. }

  1. publicclassStudent{
  2. Student(Stringname){
  3. }
  4. StringgetName(){
  5. return“”;//不知道该写什么,先做一个stub.
  6. }
  7. }

6.根据需求,返回的name应该等于创建时候传入的字符串。

于是,有如下测试代码:

  1. publiccalssStudentTestextendsjunit.framework.TestCase{
  2. publicvoidtestCreate(){
  3. StudentstudentnewStudent(“fbysss”);
  4. Stringname=student.getName();
  5. assertEquals(“fbysss”,name);//测试不通过,因为返回值是””,不是”fbysss”
  6. }
  7. }
  1. StringgetName(){
  2. return"fbysss";
  3. }

这样解决了上一个问题。

8. 根据需求,再创建另外的Student,仍然可以得到正确的结果

  1. publiccalssStudentTestextendsjunit.framework.TestCase{
  2. publicvoidtestCreate(){
  3. StudentstudentnewStudent(“fbysss”);
  4. Stringname=student.getName();
  5. assertEquals(“fbysss”,name);
  6. //测试第二个学生
  7. StudentstudentnewStudent(“james”);
  8. StringsecondName=student.getName();
  9. assertEquals(“james”,secondName);//测试不通过,因为返回值是”fbysss”,不是”james”
  10. }
  11. }

加入name成员

仅这一步还不行,索性想全了:要得到想要的结果,必须在构造函数里面保存传入的参数。

如果在以后的测试中,要求Student提供setName方法,进一步Driven创建void setName(String name)方法。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读