Junit单元测试

来源:互联网 发布:二极管功耗计算软件 编辑:程序博客网 时间:2024/05/17 01:48

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击