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

依赖: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;@Beforepublic void setUp() throws Exception {allDate=new Date(5, 18, 2017);bytes = new ByteArrayOutputStream();System.setOut(new PrintStream(bytes));}@Afterpublic void tearDown() throws Exception {System.setOut(System.out);}@Testpublic void testDate() {Date date=new Date(5, 18, 2017);assertEquals(true, date instanceof Date);}@Testpublic void testIncrement() {allDate.increment();System.out.println();assertEquals(6, allDate.getMonth().getMonth());}@Testpublic void testPrintDate() {allDate.printDate();assertThat(bytes.toString(),is("5/18/2017\r\n"));}@Testpublic void testGetDay() {fail("Not yet implemented");}@Testpublic void testGetMonth() {fail("Not yet implemented");}@Testpublic void testGetYear() {fail("Not yet implemented");}@Testpublic void testEqualsObject() {fail("Not yet implemented");}@Testpublic void testToString() {fail("Not yet implemented");}}
  • fail() 方法为测试junit自动生成,意味失败;下面列举junit常用测试方法“

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

assertEquals(String msg, Object expectRes, Object Res) --------  用于值判断判断expectRes.equals(Res) ,表示值等于的判断,失败则抛MSGassertSame(String msg, Object expectRes, Object Res)  --------  用于地址判断判断expectRes==Res,表示地址等于的判断,失败则抛MSGassertTrue(String msg,Boolean result) ----------------------------用于Boolean判断判断result是true还是false,失败则抛MSGassertNull(String msg,Object result)-------------------------------用于NULL判断判断result是否为NULL,失败则抛MSGfail(String msg);---------------------------------------------------直接中止方法运行直接中止方法运行,抛出MSG
  • 每一个测试方法上@test 为标注为junit测试方法 ;

显示绿条,意味测试通过

转载于:https://www.cnblogs.com/dgwblog/p/7635200.html

junit搭配hamcrest使用相关推荐

  1. 软件测试实验——安装并使用junit、hamcrest和eclemma进行简单测试

    一.安装junit.hamcrest和eclemma 首先,到junit官网下载junit和hamcrest. 新建java项目 完整代码已经上传至github:flyzero的coding路 实验内 ...

  2. JUnit和hamcrest的jar包关系

    JUnit的jar包和hamcrest的jar包关系 junit和hamcrest是两个不同的框架,不同的东西.只不过是junit使用了hamcrest框架而已. 在junit上下载的junit的包解 ...

  3. JUnit和Hamcrest:在assertEquals上进行改进

    在我的博客文章中,Java越来越接受静态导入吗? ,我讨论了在Java中越来越多地使用静态导入来使代码在某些情况下更流畅. Java 单元测试特别受静态导入的影响,在此博客文章中,我提供了一个简单的示 ...

  4. [软件测试_LAB1]安装junit和hamcrest及其使用

    一.在IDE中集成junit和hamcrest 创建工程后,导入junit和hamcrest的jar包 hamcrest-all-1.3.jar junit-4.12.jar 使用的IDE为Intel ...

  5. 软件测试实验1:JUnit、Hamcrest、Eclemma

    前言: 1.JUnit是一个Java语言的单元测试框架,是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能.JUnit框架用一组assert方 ...

  6. junit集成Hamcrest测试集合中某个属性是否包含特定值

    junit已经集成Hamcrest但是还是需要引用hamcrest-library,不然只有基本方法,高级的没有 <dependency> <groupId>junit< ...

  7. junit、hamcrest、eclemma的安装与使用

    1.junit的安装与使用 1.1 安装步骤 1)从http://www.junit.org/ 下载junit相应的jar包: 2) 在CLASSPATH中加入JAR包所在的路径,如E:\Java\j ...

  8. 学习junit和hamcrest的使用

    今天跑了一个ShowFileStatusTest程序,第一次看到一个没有main函数也能跑的测试程序.要学习以下怎么使用这个工具. 本文转自xwdreamer博客园博客,原文链接:http://www ...

  9. Junit Hamcrest Eclemma

    一.安装Junit 和 Hamcrest 选中项目->点击project->properties->Java Build path->libraries 点击右侧 Add Li ...

  10. junit:junit_JUnit和Hamcrest:在assertEquals上进行改进

    junit:junit 在我的博客文章中,Java越来越接受静态导入吗? 在本文中,我讨论了在Java中越来越多地使用静态导入来使代码在某些情况下更加流畅. Java中的 单元测试特别受静态导入的影响 ...

最新文章

  1. 【连载】优秀程序员的45个习惯之42——允许大家自己想办法
  2. AI安防落地靠什么?大规模生产是关键
  3. 电商总结(七)缓存系统
  4. c语言ns流程图1 2,请各位大神帮个忙,画个NS流程图,,急!!!
  5. 重读经典:《Generative Adversarial Nets》
  6. opencv有基于c语言的教程吗_VS2019配置opencv详细图文教程和测试代码的实现
  7. eja智能压力变送器工作原理_EJA智能压力变送器
  8. 有Pytz时区列表吗?
  9. 运维工程师从月薪 5K 到 50K,中间都经历了什么?
  10. 去中心化和p2p网络以及中心化为核心的传统通信
  11. Failed to send a request to Slack API server: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certif
  12. springboo集成bboss-elasticsearch实现elasticsearch客户端
  13. 阿里云培训-AS(弹性伸缩)
  14. 导航栏不变,切换局部页面的方法
  15. 图片随鼠标滑轮滚动变大变小
  16. 【Java】JRE与JDK
  17. 自动化 Google 以图搜图
  18. 设计FMEA步骤三:功能分析
  19. mybatis XML 中<if>、<choose>、<when>、<otherwise>等标签的使用?多条件查询该怎么处理?
  20. win32gui 获取相同类名edit编辑框 获取窗口标题 遍历子窗口

热门文章

  1. 没有文化可以学php吗,宋威龙深夜发文感慨,却被吐槽文化低,学历真的重要吗?...
  2. 项目搭建 windows_08. SpringCloud实战项目-配置Git
  3. c语言 怎么访问64位地址_巧言C语言指针 | 纯干货讲解
  4. 基础教程——python函数
  5. 网络工程师如何避免走弯路(二)
  6. CentOS下使用TUN/TAP虚拟网卡的基本教程
  7. 第一个应用成功上架了-武林世界
  8. iOS Crash类别总结
  9. Android引入第三方jar包报错java.lang.NoClassDefFoundErro...
  10. 【TDA4系列】Linux SDK安装与交叉编译测试,以及刷写SD卡