Junit单元测试

Junit单元测试

1.使用Junit的最佳实践:

a) 新建一个名为testsource folder,用于存放测试类源代码

b) 末表类与测试类应该位于同一个包下面,这样测试类中就不必要导入源代码所在的包,因为他们位于同一个包下面

c) 测试类的命名规则:假如目标类是Calculator,那么测试类应该命名为TestCalculatorCalculator,虽然不是必须的,但是要符合规范。

2.Junit的口号:keep the bar green to keep the code clean

3.No reflection ,no most frameworks.

4.Junit:单元测试并不是证明你是对的,而是证明你没有错。

5.测试用例(TestCase)是单元测试的一个很重要的方面

6.单元测试主要是用来判断程序执行结果与自己预期的结果是否一致。

7.测试类必须要继承与TestCase父类(junit3.8是显式的继承,junit4之后是用注解的方式了)

8.junit3.8中,测试方法需要满足如下原则:

a) Public

b) Void

c) 无方法参数

d) 方法名字必须以test开头

9.TestCase之间一点个要保持完全的独立性,不允许出现任何的依赖关系

10.关于setUptearDown方法的执行顺序

a) setUp

b) testXxx

c) tearDown

 

 

备注:分析Junit源码切入点应该是TestCase类。Junit的源代码非常好,使用了多种设计模式结合。

 

Junit 4单元测试

1.Junit 4全面引入了Annotation来执行我们编写我们的测试

2.Junit 4 并不要求测试类继承TestCase父类

3.在一个测试类中,所有被@Test注解所修饰的public void 方法都是test case,可以被Junit所执行

4.虽然Junit4并不要求测试方法以test开头,但是我们最好还是遵循这个规则,见名知意。

5.Junit4中,通过@Before注解是信啊与Junit3.8setUp方法同样的功能,通过@After注解实现与Junit3.8中的tearDown方法同样的功能

6.Junit 4中可以使用@BeforeClass@AfterClass注解修饰一个public static void no-args的方法,这样被@BeforeClass注解所修饰的方法会在所有测试方法之前执行,被@AfterClass注解所修饰的方法会在所有测试方法执行之后 执行。

7.@ignore注解可以用于修饰测试类与测试方法,当修饰测试类时,表示忽略掉类中的所有测试方法;当修饰测试方法时,表示忽略掉该测试方法。

8.Junit TestCase类中应用了模板方法模式:

public void runBare() throws Throwable{

setUp();

try{

runTest();

}

finally{

tearDown();

}

 

}

 

9.JunitTestCase类中应用了适配器(Adapter)模式:代码同上,体现在runTest()方法中。

10.适配器模式(Adapter Pattern)主要分为三种:

a) 基于类的继承方式

b) 基于对象组合方法

c) 缺省的适配器模式(AWTSwing事件模型所采用的模式)

11.我们学习过的设计模式:

a) 单例模式(Singleton

b) 策略模式(Strategy

c) 代理模式(static proxydynamic proxy

d) 观察者模式(Observer

e) 装饰模式(Decorator

f) 工厂模式(static factoryfactory methodabstract factory

g) 模板方法模式(Template Method)只能使用抽象类来实现

h) 适配器模式(缺省适配器、基于继承的适配器、基于组合的适配器)

i) 命令模式(Command

j) 组合模式(Composite

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值