2008-01-17

TDD,让我轻轻地靠近你

关键字: tdd
    TDD这个东东吵吵嚷嚷好多年,但是实践起来就是那么的难,这也是没办法的事--项目已经很紧张了,我们为什么还要花时间在写测试上面?     这么说吧,TDD就好像是一个美女,看着确实很漂亮,可是追到她却需要很大的本钱。好吧,我也不心急,先让我轻轻地靠近你。    那么在对日项目中实行TDD似乎更是难上加难了?因为对日的项目很注重设计文档,他们称之为“详细设计”。详细到什么程度?详细到变量的名字都起好了,写代码的时候,只要照着文档写就可以了---这其实是个神话,也确实是个神话。 ...
    如果是先写测试,然后再写实现的代码,那就是测试驱动的开发;如果每写一点代码,就紧 跟着写几个测试来测试这段实现的代码,虽然不是测试驱动,但也很好。    总之,上面的两种方式都重视了测试,而且,随着时间的增长,一定会逐步的形成持续集 成的概念,都是不错的方式。    不过,大部分人都认为测试类很容易写,其实不然。测试类虽然不是交付的产品,但是仍 然非常重要。编写的过程,与真正的产品一样,有我们需要非常注意的地方。    单说构造数据和校验方面吧!下面的图是一个简略的描述: ...
  • 21:44
  • 浏览 (2169)
  • 评论 (0)
  • 分类: XP
首先我们需要下载NDbUnit ,然后我们建立一个 Console 项目就可以,导入需要的 dll : NDbUnit.Core.dll, NDbUnit.Test.dll. 此外我们还需要 NUnit ,也就是 nunit.framework.dll。 相比这下,NUnit 的文档要好得多,有教程,有例子,而 NDbUnit 只有一个简单的教程, 和一个 flash的教程。 NDbUnit 的使用非常简单,难的就是数据文件也就是 xml 文件的制作。如果按照 flash 的教程 中所讲的,用vs 2005 导出就非常方便,可惜现在对vs2005 不太熟悉,没找到这个功能,只好 ...
  • 22:12
  • 浏览 (2121)
  • 评论 (0)
  • 分类: XP
        使用TDD的方式进行开发,必须要有相应的测试工具才可以,正所谓“欲善其事,先利其器”。 这里就当作是自己的测试工具兵器架吧,以免天长日久,记忆不再犹新了。 Java 基础的兵器当属 JUnit。这个兵器简单易学,而且威力大,已经成为掌握测试的入门兵器了! 要和数据库打交道,当属 DBUtil 和 DBUnit。这两种兵器虽然不太容易,但是用好了也是威力 巨大。而且还可以配合 rhino 来自动生成脚本 ,威力更加增强。 WEB 测试方面,当属 Selenium。这个兵器 ...
  • 15:25
  • 浏览 (2106)
  • 评论 (0)
  • 分类: XP
最近刚刚接触RCP这个东西,其中如何进行单元测试让我头疼了好几天。 搜索了一下,倒是发现了许多测试工具,但是,要么是收钱的,要么是安装不方便,要么是 使用麻烦。 总之,没找到好用的。 最后,无奈之下,决定使用最古老的方式-----MOCK!这绝对不是一个好的方式,但是,如果你想 自如的进行单元测试,倒是一个可以考虑的方式。 RCP程序不同于WEB程序,RCP的程序就是普通的JAVA类,运行的时候也不需要额外的服务器。 那么,我们能不能象运行一个普通的JAVA类那样来运行一个RCP程序呢? 答案是否定的,因为RCP运行的时候需要RCP的环境。 那么我们就来MOCK! 例如我有 ...
在DBUnit中使用脚本来生成测试数据 用过rails 的人都会觉得rails的测试中,fixtures 实在是一个非常方便的工具。在Java中,我们通常会使用dbunit 来维护我们的测试数据,但是,dbunit有一个不方便的地方,就是测试数据要手写。虽然我们也可以从数据库中导出来,但这并不是万灵药。 在Rails中,我们可以在fixtures中写ruby 代码,这称为动态fixtures。在dbunit 中如果也能这么做就好了! 首先,如果要实现这个功能,那么肯定涉及动态脚本的内容。自己写一个?太费劲了,浪费时间,最主要是没这个能力:)。 那么怎么办?当然是“站在巨人的肩膀上” ...
//使用dbutils1.0版本 import java.util.*; import java.util.logging.*; import java.sql.*; import org.apache.commons.dbutils.*; import org.apache.commons.dbutils.handlers.*; public class TestDBUnits { public static void main(String[]args) throws Exception { TestDBUnits test = new TestDB ...
  • 16:57
  • 浏览 (628)
  • 评论 (0)
  • 分类: XP
使用dbunit,可以帮助我们在测试中维护数据,也可以辅助我们的测试。 首先当然是下载dbunit, http://dbunit.sourceforge.net 我测试用的是 MYSQL 5.0 。 建立数据库: create table test1( id int not null auto_increment, user_name varchar(50), primary key(id)) engine=innodb; 保存数据的xml文件: <dataset> <test1 user_name="tom"/> ...
  • 16:27
  • 浏览 (943)
  • 评论 (2)
  • 分类: XP
yananay
搜索本博客
我的相册
D35bafa8-5bf0-475f-aa06-16f3080557a1-thumb
tdd
共 3 张
存档
最新评论