Junit搭配hamcrest使用

发表于:2017-5-23 11:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:不搞懂算法绝不改名zZ    来源:简书

  开篇
  · 快速进行软件编码,与功能测试应该是每个写代码的人,应该掌握的技能,如何进行优雅的写代码,把测试的时间压缩,腾出时间来休息。下面听我一一道来:
  依赖:junit 4.4
  hamcrest 1.3 core hamcrest 1.3 lib
  · 项目结构
  
  · 选择测试类,创建测试用例: test case
 
  · 勾选需要测试的方法
  
  · 下一步生成测试用例
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测试方法 ;
  显示绿条,意味测试通过
  
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号