科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件采用敏捷方法进行用户界面开发

采用敏捷方法进行用户界面开发

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

 1991年秋,在美国勒海大学亚科卡学院的一份研究报告《21世纪美国制造业的战略:一个工业主导的观点》中,首次提出了敏捷竞争的概念.而今天,我们似乎已经看到,敏捷已经在我们身边,形影不离.

作者:中国IT实验室 来源:中国IT实验室 2007年8月27日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
这个测试是基于JUnit基础测试类TestCase的。测试方法testLogin()创建了一个LoginDialog 的实例,调用了他的login()方法,然后判定结果是真。这段代码将不会编译,因为LoginDialog 不存在。在TDD过程后,LoginDialog
  
  将生成和保存,代码编译后,测试运行验证将象预期的那样失败(因为方法没有实现)。然后 LoginDialog 为了通过单元测试给出最小的实现,遵照敏捷的圣条 做 可能工作的最简单的事情(the simplest thing that could possibly work)。例2展示了最初的LoginDialog 版本,用最少的代码通过了单元测试,实现在LoginDialog.java. 文件里。
  
  LoginDialog.java
  
  public class LoginDialog {
  LoginDialog() {}
  public boolean login(String username, String password) {
  return true;  } }
  
  使用下面的命令来运行代码
  javac -classpath ".;junit.jar" LoginDialogTest.java
  javac -classpath "." LoginDialog.java
  
  classpath 必须包括junit.jar 来运行单元测试,因为他使用了JUnit.在Linux,Mac OSX,还有其他的UNIX系统上,classpath将包含一个冒号(:)而不是想下面那样用一个分号。
  
  测试将如下运行
  
  java -classpath ".;junit.jar" junit.textui.TestRunner LoginDialogTest
  
  单元测试通过了,真好!不幸的是,这个编码只是模拟一下。Login()方法将总是批准登录。毋庸置疑,客户将不会欣赏这种水平的安全机制。显然,要写的下一个测试是验证如果给的条件不正确的话将失败。例3展示了LoginDialogTest 的第二个测试方法去实现这个目的,testLoginFail() 。既然两个测试都使用一个LoginDialog 的实例,测试类被重构为在他的setUp() 方法里创建一个固定的测试用的LoginDialog。
  
  LoginDialogTest.java
  
  import junit.framework.*;
  public class LoginDialogTest extends TestCase {
  private LoginDialog dialog;
  public void setUp() {
  dialog = new LoginDialog();
  }
  public void testLogin() {
  assertTrue( dialog.login("user", "passwd") );
  }
  public void testLoginFail() {
  assertFalse( dialog.login("", "") );
  }}
  
  LoginDialog 必须得通过新的测试,不能在第一次测试的时候有失败。TDD过程引导我们构造我们需要的真正的功能,在用正确的用户名和密码登录的时候,能成功登录,如果不是,就失败。例4展示了按此修改的LoginDialog
  
  LoginDialog.java
  
  public class LoginDialog {
  private String user = "user";
  private String passwd = "passwd";
  LoginDialog() {}
  public boolean login(String username, String password) {
  if (user.equals(username) && passwd.equals(password))
  return true;
  else
  return false;
  } }
  
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章