摘要:我们要开发的todo列表类似菜单项,每个菜单可以有多个菜单项,每个菜单项又可以有多个子菜单,我们的todo有一系列任务,每个任务又有多个子任务,以此类推。数据库设计:每个task有一个parent_id,task_id与parent_id之间形成一种伪外主键关系。代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=&qu 阅读全文
Python的类变量和实例变量
2013-05-17 12:58 by youxin, 6026 阅读, 1 推荐, 收藏,
摘要:类变量紧接在类名后面定义,相当于java和c++的static变量实例变量在__init__里定义,相当于java和c++的普通变量在Java中,静态变量 (在Python中叫类属性) 和实例变量 (在Python中叫数据属性) 两者都是紧跟在类定义之后定义的 (一个有static关键字,一个没有)。在Python中,只有类属性可以定义在这里,数据属性定义在__init__方法中。类属性可以作为类级别的常量来使用 (这就是为什么我们在MP3FileInfo中使用它们),但是它们不是真正的常量。你也可以修改它们。在Python中没有常量。如果你试图努力的话什么都可以改变。这一点满足Python的 阅读全文
最佳实践:测试驱动开发全功略
2013-05-16 18:14 by youxin, 479 阅读, 1 推荐, 收藏,
摘要:测试驱动开发/Test Driven Development/TDD测试用例/TestCase/TC设计/Design重构/Refactoring{TDD的目标}Clean Code That Works这句话的含义是,事实上我们只做两件事情:让代码奏效(Work)和让代码洁净(Clean),前者是把事情做对,后者是把事情做好。想想看,其实我们平时所做的所有工作,除去无用的工作和错误的工作以外,真正正确的工作,并且是真正有意义的工作,其实也就只有两大类:增加功能和提升设计,而TDD 正是在这个原则上产生的。如果您的工作并非我们想象的这样,(这意味着您还存在第三类正确有意义的工作,或者您所要做的 阅读全文
EasyMock使用
2013-05-16 10:57 by youxin, 209 阅读, 0 推荐, 收藏,
摘要:http://www.ibm.com/developerworks/cn/java/j-easymock.htmlhttp://www.ibm.com/developerworks/cn/opensource/os-cn-easymock/ 阅读全文
Eclipse使用Junit
2013-05-16 10:51 by youxin, 313 阅读, 0 推荐, 收藏,
摘要:当我们新建一个java project后,默认有一个src(类型为source folder)。我们创建test类的时候不要把它放入src中,应该新建一个测试的源代码folder,新建一个source folder,命名unit_test.然后我们选中要测试的类,右键,会有一个junit test case我们更改source folder,选中我们之间创建的unit_test。Class under test默认是我们选中的类,表面对哪个类进行测试。我们不要点击finish,点击next,会出现相关的方法,我们选中我们想要测试的方法,然后确定,系统会生成相关的测试代码。可以参考视频:http 阅读全文
转:测试驱动开发With JUnit(二)
2013-05-16 09:55 by youxin, 280 阅读, 0 推荐, 收藏,
摘要:第二章:JUnit测试套件: 在第一节中简单的介绍了JUnit的使用,但是每次运行测试类时,该测试类的所有方法全部都被测试一遍,如果想单独测试某个方法还是比较麻烦的。但是可以利用测试套件来解决这个问题。 下面我们先更改CalculateUtilTest向里面增加一个构造方法importjunit.framework.TestCase; publicclassCalculateUtilTestextendsTestCase { publicCalculateUtilTest(Stringname)//1行{ super(name); } ……其余方法省略 } 代码解释:1行:自定义构造方法,.. 阅读全文
转:测试驱动开发With JUnit(一)
2013-05-16 09:52 by youxin, 327 阅读, 0 推荐, 收藏,
摘要:试驱动开发(TDD)是极限编程(XP)的重要特点,它是以持续性的测试来推动代码的开发,即可以简化代码,又可以保证质量。它改变了先编写代码,后编写测试,而是先编写测试,然后在编写代码来满足测试的方法。这样使得测试工作不仅仅是单纯的测试,而成为了设计的一部分。对于刚入门的编程者来说,也许觉得非常地别扭,但是当你习惯了这种编程方式之后,你会发现,TDD会成为你的得力助手。 下面的内容就以学习JUnit这个测试工具来简单的介绍TDD。(注:本文主要内容是介绍JUnit的使用,顺便抛砖引玉介绍TDD的开发过程。想了解更多关于TDD,可以参考其他的一些专业书籍)。 开发环境是:Eclipse3.2,已经集 阅读全文
转:JUnit中assertEquals和assertSame方法的不同
2013-05-16 09:29 by youxin, 303 阅读, 0 推荐, 收藏,
摘要:1)提供的接口数量不完全相同。assertEquals支持boolean,long,int等等java primitiveType变量。assertSame只支持Object。2)比较的逻辑不同,结果可能不同。assertSame是对象直接比较。assertEquals能利用被比较对象提供的比较逻辑来进行比较。使得同样的条件下,两者的运行结果不一定相同。简单解释如下:assertEquals(Object A, Object B) 的比较逻辑:如果 A,B都是Null,返回true。否则调用 A.equals(B)来判断。assertSame(Object A, Object B)的比较逻辑: 阅读全文
JUnit Assert方法总结
2013-05-16 09:28 by youxin, 288 阅读, 0 推荐, 收藏,
摘要:junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类。1.assertTrue/False([String message,]boolean condition); 判断一个条件是true还是false。感觉这个最好用了,不用记下来那么多的方法名。2.fail([String message,]); 失败,可以有消息,也可以没有消息。3.assertEquals([String message,]Object expected,Object actual); 判断是否相等,可以指定输出错误信息。 第一个参数是期望值,第二个参数是实际的值。 这个方 阅读全文
转:Java中equals和==的区别
2013-05-16 09:25 by youxin, 255 阅读, 0 推荐, 收藏,
摘要:java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String, 阅读全文
浙公网安备 33010602011771号