前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >junit入门实例

junit入门实例

作者头像
闵开慧
发布2018-03-30 15:01:12
7140
发布2018-03-30 15:01:12
举报
文章被收录于专栏:闵开慧

1 junit测试用例代码

代码语言:javascript
复制
package junitTest;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

/**
 * @ClassName TestCase
 * @Description junit测试用例演示
 * @date 2014年9月11日 上午9:57:45
 * 
 */
public class TestCase {

    // @Test
    // public void test() {
    // fail("Not yet implemented");
    // }

    /**
     * 
     * @Title        setUpBeforeClass
     * @Description  针对所有测试,只执行一次,在该class执行前执行,且必须为static void
     * @param
     * @return
     * @throws
     */
    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.println("in BeforeClass================");
    }

    /**
     * 
     * @Title        tearDownAfterClass
     * @Description  针对所有测试,只执行一次,在该class执行完后执行,且必须为static void
     * @param
     * @return
     * @throws
     */
    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("in AfterClass=================");
    }

    /**
     * 
     * @Title        before
     * @Description  初始化测试方法,每个测试方法都需要调用一次
     * @param
     * @return
     * @throws
     */
    @Before
    public void before() {
        System.out.println("in Before");
    }

    /**
     * 
     * @Title        after
     * @Description  测试方法执行完后释放资源,每个测试方法都需要调用一次
     * @param
     * @return
     * @throws
     */
    @After
    public void after() {
        System.out.println("in After");
    }

    @Test(timeout = 10000)
    public void testadd() {
        JDemo a = new JDemo();
        assertEquals(6, a.add(3, 3));
        System.out.println("in Test ----Add");
    }

    @Test
    public void testdivision() {
        JDemo a = new JDemo();
        assertEquals(3, a.division(6, 2));
        System.out.println("in Test ----Division");
    }

    @Ignore
    @Test
    public void test_ignore() {
        JDemo a = new JDemo();
        assertEquals(6, a.add(1, 5));
        System.out.println("in test_ignore");
    }

    @Test
    public void test_fail() {
        fail();
    }

}

/**
 * 
 * @ClassName    JDemo
 * @Description  测试类
 * @date         2014年9月11日 上午10:15:15
 *
 */
class JDemo extends Thread {

    int result;

    public int add(int a, int b) {
        try {
            sleep(1000);
            result = a + b;
        } catch (InterruptedException e) {
            System.out.println("add error");
        }
        return result;
    }

    public int division(int a, int b) {
        return result = a / b;
    }
}

2 java执行结果

in BeforeClass================ in Before in Test ----Division in After in Before in After in Before in Test ----Add in After in AfterClass=================

3 junit执行结果

4 执行顺序

一个测试类单元测试的执行顺序为:

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass

每一个测试方法的调用顺序为:

@Before –> @Test –> @After

5 断言核心方法

assertArrayEquals(expecteds, actuals)

查看两个数组是否相等。

assertEquals(expected, actual)

查看两个对象是否相等。类似于字符串比较使用的equals()方法

assertNotEquals(first, second)

查看两个对象是否不相等。

assertNull(object)

查看对象是否为空。

assertNotNull(object)

查看对象是否不为空。

assertSame(expected, actual)

查看两个对象的引用是否相等。类似于使用“==”比较两个对象

assertNotSame(unexpected, actual)

查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象

assertTrue(condition)

查看运行结果是否为true。

assertFalse(condition)

查看运行结果是否为false。

assertThat(actual, matcher)

查看实际值是否满足指定的条件

fail()

让测试失败

6 junit方法声明

@Before

初始化方法

@After

释放资源

@Test

测试方法,在这里可以测试期望异常和超时时间

@Ignore

忽略的测试方法

@BeforeClass

针对所有测试,只执行一次,且必须为static void

@AfterClass

针对所有测试,只执行一次,且必须为static void

@RunWith

指定测试类使用某个运行器

@Parameters

指定测试类的测试数据集合

@Rule

允许灵活添加或重新定义测试类中的每个测试方法的行为

@FixMethodOrder

指定测试方法的执行顺序

参考文件:http://blog.csdn.net/wangpeng047/article/details/9628449

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档