Junit单元测试学习01

来源:互联网 发布:php mysql搭建一个saas 编辑:程序博客网 时间:2024/06/09 18:08

之前学习过junit3.8,今天学习一下junit4.x,在Android平台上也有相关的单元测试,可以说junit已经是单元测试的标准,现在将单元测试用在编程中确实没给我提高多大的效率,但是相信当真正熟练应用junit单元测试,并理解Junit里面单元测试的原理和其中的设计模式,必将给今后的编程带来很大的提高。

下面是要进行测试的类:

 

当使用junit3.8进行单元测试的测试类:

 

运行结果:

 

SetUp

TearDown

SetUp

TearDown

SetUp

TearDown

 

当使用junit4.x进行单元测试的测试类:

 

运行结果:

 

BeforeClass

SetUp

TearDown

SetUp

TearDown

SetUp

TearDown

AfterClass

 

从测试类和运行结果就能大致看出他们的不同:junit3.8的测试类是继承自TestCase,测试方法前都要加test,这是因为junit3.8采用了java里面的反射来找相应的类里的方法,他的setUp()和tearDown()方法每执行一个测试方法就执行一次。而junit4.x没有继承TestCase,而是采用Java5中新加入的静态导入的方式导入的方式import static org.junit.Assert.*;,他的测试方法前面不需要加上test,这是因为junit4采用的是java5里面的注解Annotation即使我们的测试方法写成下面的形式也是可以的:

 

还有就是增加了下面的两个方法:

 

这个正想他们的名字写的那样只在类开始和结束的时候调用,仔细观察就会发现这是一个静态的方法,也就说明了为什么只被调用一次。