Junit4

今天学习了junit4.

1、junit4是一个java单元测试框架,其特点是可以帮助测试程序的预期结果,但是不能识别程序业务逻辑的对错。

2、junit4是xunit的一个子框架。官网:junite.org

3、jar:junit.jar    hamcrest-core.jar(匹配框架,用于更复杂的测试)

4、断言在Junit中常用。

5、基本使用

    5.1    测试方法上必须使用@Test进行修饰

             测试方法必须使用public void进行修饰,不能带任何参数。

            新建一个源代码目录来存放测试代码

            测试类的包应该和被测试类的包保持一致

            测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

            测试类使用Test作为类名的后缀,测试方法使用test作为方法名的前缀(不必须)

            Junit4_第1张图片

    5.2    测试结果view

            failure一般由单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题。就是说程序输出的结果和我们预期的不一样。

            error是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测试代码中一个隐藏的Bug。

            测试用例不是用来证明你是对的,而是用来证明你没有错而已。

    5.3    Junit的几个注解

            @BeforeClass修饰的方法会在所有方法被调用前被执行,而且该方法是静态的,所以当测试类被加载后接着就运行它。而且在内存中它只会存在一份实例,它比较适合加载配置文件。

            @AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库连接。

            @Before和@After会在每个测试方法的前后各执行一次。

            @Test将一个普通方法修饰成一个测试方法

                @Test(expected=XX.class) 捕获异常等

                @Test(timeOut=毫秒)控制测试程序的运行时间

            @Ignore所修饰的测试方法会被测试执行器忽略

            @RunWith可以更改测试运行器 org.junit.runner.Runner

            Junit4_第2张图片

    5.4测试套件

        测试套件就是组织测试类一起运行的。

            写一个作为测试套件的入口类,这个类不包含其他的方法

            更改测试运行器:Suit.class

            将要测试的类作为数组传入Suit.SuitClass([])

            

Junit4_第3张图片

Junit4_第4张图片

Junit4_第5张图片

Junit4_第6张图片

            5.5测试套件2(多用于用结构但是参数不同的程序进行测试)

            更改默认测试运行器为RunWith(Parameterterized.calss)

            声明变量来存放预期值和结果值

            声明一个返回值为Collection的公共静态方法,并使用@Parameters修饰

            为测试类声明一个带有参数的公共构造器,并在其中为声明的变量赋值。

            Junit4_第7张图片

你可能感兴趣的:(JUnit4)