亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java中Junit4測試實例

標簽:
Java 測試

Junit简介
JUnit: JUnit是一个Java语言的单元测试框架。
单元测试:单元测试的目的不是证明你的程序是正确的,而是证明你的程序没有错误

目前流行的版本3.8和4.0
Junit3.X:需要继承于TestCase
Junit4.0:增加了annotation注解
测试方法
@Test
注意:JUnit推荐的做法是以test作为待测试的方法的开头,这样这些方法可以被自动找到并被测试。
断言

@BeforeClass修饰的方法会在所有方法被调用前被执行,而且该方法是静态的,所以当测试类被加载后接着就会运行它, 而且在内存中它只会存在一份实例,它比较适合加载配置文件。
@AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接。
@Before和@After会在每个测试方法的前后各执行一次。

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

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

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

最恐怖的bug是逻辑bug.

最佳实践方式
1.测试方法上必须使用@Test进行修饰
2.测试方法必须使用public void 进行修饰,不能带任何的参数
3.新建一个源代码目录来存放我们的测试代码
4.测试类的包应该和被测试类保持一致
5.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
6.测试类使用Test作为类名的后缀(不是必须)
7.测试方法使用test作为方法名的前缀(不是必须)

常用注解

@Test(expected=ArithmeticException.class)
@Ignore("提示信息")//所修饰的测试方法会被测试运行器忽略
@Test(timeout=2000)//设置超时时间
@RunWith //可以更改测试运行器 org.junit.runner.Runner

junit4 assert类中的assert方法总结 :
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);
判断是否相等,可以指定输出错误信息。
第一个参数是期望值,第二个参数是实际的值。
这个方法对各个变量有多种实现。在JDK1.5中基本一样。
但是需要主意的是float和double最后面多一个delta的值,可能是误差范围
4.assertNotNull/Null([String message,]Object obj);
判读一个对象是否非空(非空)。
5.assertSame/NotSame([String message,]Object expected,Object actual);
判断两个对象是否指向同一个对象。看内存地址。
7.failNotSame/failNotEquals(String message, Object expected, Object actual)
当不指向同一个内存地址或者不相等的时候,输出错误信息。
注意信息是必须的,而且这个输出是格式化过的。

一。先编写实体类 MyCaculator.java

package com.entity;

//计算器类

public class MyCaculator {
    public int add(int x,int y)  ///加法
    {
        return x+y;
    }

    public int sub(int x,int y)  //减法
    {
        return x-y;
    }

    public int multi(int x,int y)  //乘法
    {
        return x*y;
    }

    public double div(int x,int y)  //除法
    {
        return x/y;
    }

}

二。编写测试类 TestMyCaculator.java

package com.entity;

import org.junit.Test;
import junit.framework.Assert;

public class TestMyCaculator {
    private static MyCaculator c = new MyCaculator(); // 创建对象

    // 测试加法
    @Test
    public void testAdd() {
        int result = c.add(10, 5);
        Assert.assertEquals(15, result);
    }

    // 测试减法
    @Test
    public void testSub() {
        int result = c.sub(10, 5);
        Assert.assertEquals(5, result);
    }

    // 测试乘法
    @Test
    public void testMulti() {
        int result = c.multi(10, 5);
        Assert.assertEquals(50, result);
    }

    // 测试除法
    @Test(expected = ArithmeticException.class)
    public void testDiv() {
        double result = c.div(10, 5); // 算数异常,这里抛出异常了。
        // 这个断言执行不到。
        Assert.assertEquals(3, result);// 这个断言能通过吗?
    }
}

需要导入的jar包:junit-4.10.jar

點擊查看更多內容
11人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
1.5萬
獲贊與收藏
8507

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消