junit搭配hamcrest使用

开篇
- 快速进行软件编码,与功能测试应该是每个写代码的人,应该掌握的技能,如何进行优雅的写代码,把测试的时间压缩,腾出时间来休息。下面听我一一道来:

依赖:junit 4.4
hamcrest 1.3 core hamcrest 1.3 lib
——包我会放到码云

  • 项目结构

Paste_Image.png

  • 选择测试类,创建测试用例: test case

Paste_Image.png

  • 勾选需要测试的方法

Paste_Image.png
- 下一步生成测试用例

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

import static org.hamcrest.Matchers.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;


public class DateTest2 {
    private Date allDate;
    private ByteArrayOutputStream bytes;
    @Before
    public void setUp() throws Exception {
        allDate=new Date(5, 18, 2017);
        bytes = new ByteArrayOutputStream();
        System.setOut(new PrintStream(bytes));
    }

    @After
    public void tearDown() throws Exception {
        System.setOut(System.out);
    }


    @Test
    public void testDate() {
        Date date=new Date(5, 18, 2017);
        assertEquals(true, date instanceof Date);
    }

    @Test
    public void testIncrement() {
        allDate.increment();
        System.out.println();
        assertEquals(6, allDate.getMonth().getMonth());
    }
    @Test
    public void testPrintDate() {
        allDate.printDate();
        assertThat(bytes.toString(),is("5/18/2017\r\n"));
    }


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

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

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

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

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

}
  • fail() 方法为测试junit自动生成,意味失败;下面列举junit常用测试方法“

    也叫 断言 使用断言时候 ,建议静态导入

assertEquals(String msg, Object expectRes, Object Res) --------  用于值判断

判断expectRes.equals(Res) ,表示值等于的判断,失败则抛MSG

assertSame(String msg, Object expectRes, Object Res)  --------  用于地址判断

判断expectRes==Res,表示地址等于的判断,失败则抛MSG

assertTrue(String msg,Boolean result) ----------------------------用于Boolean判断

判断result是true还是false,失败则抛MSG

assertNull(String msg,Object result)-------------------------------用于NULL判断

判断result是否为NULL,失败则抛MSG

fail(String msg);---------------------------------------------------直接中止方法运行

直接中止方法运行,抛出MSG
  • 每一个测试方法上@test 为标注为junit测试方法 ;

显示绿条,意味测试通过
Paste_Image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值