单元测试(JUnit)

JUnit的知识点

1 注释/元数据

引入库类:import org.junit.;

1. 说明

@Before

初始化方法

@After

释放资源

@Test

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

@Ignore

忽略的测试方法;

当测试的方法还没有实现,或者测试的方法已经过时,或者在某种条件下才能测试该方法(比如需要一个数据库联接,而在本地测试的时候,数据库并没有连接),那么使用该标签来标示这个方法。

@BeforeClass

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

@AfterClass

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

@RunWith

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

@Parameters

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

@Rule

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

@FixMethodOrder

指定测试方法的执行顺序

 

2. 执行顺序

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

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

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

@Before –> @Test –>@After

 

2 断言静态类Assert

引入命名空间:import staticorg.junit.Assert.;

 

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()

让测试失败

 

 

3 多个测试类同时执行

利用org.junit.runner.JUnitCore.runClasses(TestClass1.class, …)函数,把test case 的类放进去,然后放在main()方法里执行。

比如同时执行测试类TestWordDealUtil、Test2:

public class TestMain {
    public static void main(String[] args) {

        org.junit.runner.JUnitCore.runClasses(TestWordDealUtil.class, Test2.class);

    }
}

**demo**
public class junit_test {
    @BeforeClass
    public static void BeforeClass(){
        System.out.println("BeforeClass : "+"针对所有测试,只执行一次,且必须为static void");
    }

    @Before
    public void Before(){
        System.out.println("Before : "+"初始化方法");
    }

    @Ignore
    public void Ignore(){
        System.out.println("Ignore : "+"忽略的测试方法;");
    }

    @After
    public void After(){
        System.out.println("After : "+"释放资源");
    }

    @AfterClass
    public static void AfterClass(){
        System.out.println("AfterClass : "+"针对所有测试,只执行一次,且必须为static void");
    }

    @Test
    public void Test(){
        System.out.println("Test : "+"测试方法,在这里可以测试期望异常和超时时间");
    }

    @Test
    //检查对象是否为空
    public void testAssertNull() {
        String str = null;
        assertNull(str);
    }

    @Test
    //检查对象是否不为空
    public void testAssertNotNull() {
        String str = "hello Java!!";
        assertNotNull(str);
    }

    @Test
    //检查long类型的值是否相等
    public void testAssertEqualsLong() {
        long long1 = 2;
        long long2 = 2;
        assertEquals(long1, long2);
    }

    @Test
    //检查指定精度的double值是否相等
    public void testAssertEqualsDouble() {
        // test case is successfull as double1 and double 2
        // differ by 0.001 which is less than our specified delta
        double double1 = 1.236;
        double double2 = 1.237;
        double delta = 0.002;
        assertEquals(double1, double2, delta);
    }

    @Test
    //检查条件是否为真
    public void testAssertTrue() {
        List<String> list = new ArrayList<String>();
        assertTrue(list.isEmpty());
    }

    @Test
    //检查条件是否为假
    public void testAssertFalse() {
        List<String> list = new ArrayList<String>();
        list.add("hello");
        assertFalse(list.isEmpty());
    }

    @Test
    //检查两个对象引用是否引用同一对象(即对象是否相等)
    public void testAssertSame() {
        String str1 = "hello world!!";
        String str2 = "hello world!!";
        assertSame(str2, str1);
    }

    @Test
    //检查两个对象引用是否不引用统一对象(即对象不等)
    public void testAssertNotSame() {
        String str1 = "hello world!!";
        String str3 = "hello Java!!";
        assertNotSame(str1, str3);
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值