简单的Junit4 单元测试入门例子

新建第一个测试test case

这次我使用一个简单的例子来介绍如何写一个简单的单元测试,这里所用的测试工具是eclipse

点击下载->涉及的项目源代码下载

被测文件 Calculate.java

package com.junit4.main;public class Calculate {public int add(int a, int b) {return a + b;}public int substract(int a, int b) {return a - b;}public int multiply(int a, int b) {return a * b;}
}

1、新建test case文件

选择被测的java文件,右键 New -> Other..,选择Junit Test Case,点击 “Next” 下一步。

编号 名称 详情
Junit的版本选择 有Junit3 和Junit4两个版本可选,此处推荐使用Junit4较为方便编码。
测试文件位置 一般我们把测试代码都放在 “test” 文件夹里,此处选择 “项目名/test>”
包名 测试文件所属的包名,这里与被测文件包名保持一致。
测试文件名 一般以被测文件名为基础, “被测文件名+Test”
生成测试方法 此处的测试方法可按需要进行勾选。
被测文件 这里需指定这个test case是测试哪个文件的。

填写完毕后,点击 “Next” 下一步。

引入Junit4 的jar包,点击 “OK” ,这样就成功新建了一个test case了。

package com.junit4.main;import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;/*** Calculate 测试文件* @author PJY* @date 2018年4月25日**/
public class CalculateTest {@Beforepublic void setUp() throws Exception {}@Afterpublic void tearDown() throws Exception {}@Testpublic void test() {fail("Not yet implemented");}}

2、编写测试代码
编写测试代码步骤:

1、构建被测对象
2、调用所要测试的函数
3、断言

以下是简单的测试示例代码:

package com.junit4.main;import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;/*** Calculate 测试文件* @author PJY* @date 2018年4月25日**/
public class CalculateTest {private Calculate calculate;/*** 在每个方法执行前执行* @throws Exception*/@Beforepublic void setUp() throws Exception {// 构建对象calculate=new Calculate();}/*** 在每个方法执行后执行* @throws Exception*/@Afterpublic void tearDown() throws Exception {}/*** 测试规范点:* 1、测试方法必须使用@Test注解,并且方法必须是public void,不能带任何参数;* 2、测试单元中的每个方法必须可以独立,测试方法之间不能有任何的依赖;* 3、测试方法一般使用test作为方法名的前缀*/@Testpublic void testAdd() {//调用所需要测试的函数//真实值int result=calculate.add(10, 20);//期望值int expect=30;//断言//此处 0 代表的是误差值,当expect与result相差的绝对值小于这个值时测试通过。但大于等于时会失败。assertEquals(expect, result, 0);}@Testpublic void testSubstract() {// 调用被测函数int result=calculate.substract(10, 5);// 断言assertEquals(5, result);}@Testpublic void testMultiply() {int result = calculate.multiply(2, 3);assertEquals(6, result);}@Testpublic void testDivide() {int result = calculate.divide(10, 3);assertEquals(3, result, 0);}
}

3、运行测试代码

选择测试文件,右键点击 Run As -> JUnit Test 来执行测试代码。执行结果如下图:

那么到此我们就使用JUnit4完成了一个简单的单元测试了。

单元测试——junit4入门例子相关推荐

  1. 单元测试junit4

    一.什么是单元测试 写了个类,要给别人用,会不会有bug?测试一下. 单元测试是保障业务代码质量的非常有效工具,也是提高代码可靠性的必要手段.单元测试是编写测试代码,应该准确.快速地保证程序基本模块的 ...

  2. Cassandra 单机入门例子——有索引

    入门例子: http://wiki.apache.org/cassandra/GettingStarted 添加环境变量并source生效,使得可以在任意位置执行cassandra/bin安装目录下的 ...

  3. spark streaming 入门例子

    spark streaming 入门例子: spark shell import org.apache.spark._ import org.apache.spark.streaming._sc.ge ...

  4. 图解VC++2012编译安装GDAL1.11.0和入门例子

    相关下载 http://pan.baidu.com/s/1o7OEMc6 gdal1.rar - 入门例子 GDAL书籍代码及数据.rar gdal1110.zip - 下载的源码 GDAL.rar ...

  5. IDEA中Maven项目创建单元测试(JUnit4)

    文章目录 IDEA中Maven项目单元测试(JUnit4)记录 具体步骤 可能遇到的问题 后记 IDEA中Maven项目单元测试(JUnit4)记录 具体步骤 工具:idea2021.3版本,mave ...

  6. Orleans入门例子

    Orleans是微软开源的分布式actor模型框架.actor模型的原理网络上有很多文章.有许多理论性的文章,深刻地我都不知道怎么应用.在这里我就不赘述了.既然是博客,就说说自己的理解. 对于编程来说 ...

  7. Orleans 初接触(一) 入门例子

    [返回导航] 在简单了解了Orleans 之后我们可以通过几个例子去加深印象 一.Orleans入门例子 这个例子是跟着<Orleans入门例子>(https://www.cnblogs. ...

  8. [深度学习-实践]CycleGAN的入门例子-Tensorflow2.1-keras

    系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之DCGAN基于CIFAR10数据集的例子 深度学习GAN(三)之DCGAN基于手写体Mnist数据集的例子 深度学习GAN(四)之c ...

  9. [深度学习-实践]GAN入门例子-利用Tensorflow Keras与数据集CIFAR10生成新图片

    系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之基于CIFAR10数据集的例子; 深度学习GAN(三)之基于手写体Mnist数据集的例子; 深度学习GAN(四)之PIX2PIX G ...

  10. Restlet入门例子 - RESTful web framwork for java

    RESTful系列文章索引 Restlet入门例子 - RESTful web framwork for java [原创]Jersey入门例子 官方网站介绍: http://www.restlet. ...

最新文章

  1. 计算机编程书籍-Python金融大数据分析
  2. 【干货分享】可能是东半球最全的.NET Core跨平台微服务学习资源
  3. Java三大主流开源工作流引擎技术分析
  4. 启动jar包并生成日志的linux脚本
  5. 借助二分法匹配时间戳实现快速查找日志内容
  6. 阿里巴巴大规模应用Flink的踩坑经验:如何大幅降低 HDFS 压力?
  7. libc glibc glib 的关系
  8. 双向dcdc变换器simulink仿真_二极管箝位五电平变换器Simulin仿真
  9. 详细说明 SourceTree 免登录,跳过初始设置的方法(Windows 版 )
  10. MVC里面写html获取不到input,asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用Html.EditorForModel渲染时不起作用?...
  11. 七种寻址方式(直接寻址方式)
  12. 学计算机是为了什么演讲稿,求大学计算机协会职位申请书和演讲稿
  13. 基于任务的异步模式(TAP)
  14. Maven构建springBoot Demo案例
  15. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_18-页面静态化-模板管理-GridFS研究-取文件...
  16. 人工势场法--路径规划--原理--matlab代码
  17. 高数教材班复习Hint(3.1-3.6)
  18. siege压力测试工具
  19. 2020年春节抢票神器
  20. Android 软件行为监控系统 的原理 主要是利用binder机制原理添加一个filter

热门文章

  1. 包含h3c、cisco、F5、华为、中兴、juniper等网络设备巡检命令整理,建议点赞收藏
  2. 曹则贤:从一元二次方程到规范场论 | 中国科学院2022跨年科学演讲
  3. SAP VA01 消息 没有用于售达方 XXXXXX 的客户主记录存在
  4. RapidXml的使用
  5. 使用weblogic部署若依项目(图文教程)
  6. 如何在pe里加载阵列卡驱动_PE添加RAID驱动的方法
  7. 测试环境搭建-7:安装loadrunner提示此计算机上缺少vc2005_sp1_with_atl_fix_redist解决方法
  8. vrchat模型保存_VRChat简易教程3-往世界里导入模型和VRC接口初探
  9. Vijos 1006
  10. vijos 1066 树状数组