一、对加法函数进行测试

1.实例化被测单元(方法):类名 实例名=new 类名([参数])

2.调用被测单元,对比预期值和输出值(实际值);

在没有junit测试工具的情况下,我们要进行如下的测试代码编写过程:

二、利用Junit进行单元测试

Junit是一款专门用于java语言的代码的单元测试工具;是一套基于java的测试框架,目前有两个版本:Junit3,Junit4.Junit中最常用的两个测试方法是:

assertEquals(expect,actual);用于非数组型的数据的比较;
assertArrayEquals(expect,actual);用于数组型的数据的比较;

PS:这两个函数的选择是由被测单元的输出数据类型决定的。

1.Junit 3特征

a.测试类都是要继承TestCase类:
    import junit.framework.TestCase
    public class TestCalc extends TestCase
b.测试类中的方法的作用是由方法名决定的且测试用例的方法必须以小写的test开头;

如:

2.Junit 4

Junit 3有很大优化,没有Junit3那样的约束条件,使用起来很方便,对于Calc测试如下:

3.对于Java中单元测试来说,被测的方法的类型一般是或者可以转化为以下四种类型:

a.被测方法有返回值,且返回值是可预期的。(按照功能,特定的输入一定对应特定的输出);assertEquals(预期值,输入值);

//上述对于加法函数的测试即属于该类;

b.被测方法有返回值,但是返回值不是固定的,是随机的,但是返回值从数学角度来看,返回值必然是有其特征的;

例:

c.被测方法没有返回值,此时都可以将之转化为输出类型(System.out.println());

例:Dog这样的类是没有返回类型的,通常我们可以将之转化为有输出语句的类型;


d.被测方法本身会抛出异常,此时的测试重点已经是对异常信息的检测。

例:

4.Parameter参数化

一般来说,在自动化测试领域,针对同一单元的测试,往往存在多个测试用例,在代码层面来看,多个测试用例的实现,其特征是:逻辑相同,数据不同。此时就需要用到参数化的操作,一定程度上实现代码和数据的分离,junit自身提供了参数化的方式。

例:

通过参数化进行测试:

5.feeder工具

添加feeder插件,新建data文件夹,右击新建文件,命名为isnumber.csv.(以上面isNumber为例)

单元测试实战 - Junit测试的更多相关文章

  1. (2).mybatis单元测试(junit测试)

    一.Junit使用步骤:1.创建测试目录,(src.测试目录是test)2.在测试目录test中创建与src中相同的包名3.为需要测试的类创建测试类,例如:UsersMapper,测试类是UsersM ...

  2. DAO层设计Junit测试

    DAO层的设计: 在实际的开发中有一种项目的程序组织架构方案叫做MVC模式. MVC模式就是按照程序的功能将它们分成三层,分别是Modle层 (模型层).View(显示层).Controller(控制 ...

  3. SpringBootTest单元测试实战、SpringBoot测试进阶高级篇之MockMvc讲解

    1.@SpringBootTest单元测试实战 简介:讲解SpringBoot的单元测试 1.引入相关依赖 <!--springboot程序测试依赖,如果是自动创建项目默认添加--> &l ...

  4. 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_17、SpringBootTest单元测试实战

    笔记 1.@SpringBootTest单元测试实战     简介:讲解SpringBoot的单元测试         1.引入相关依赖              <!--springboot程 ...

  5. Android 单元测试(junit、mockito、robolectric)

    1.运用JUnit4 进行单元测试 首先在工程的 src 文件夹内创建 test 和 test/java 文件夹. 打开工程的 build.gradle(Module:app)文件,添加JUnit4依 ...

  6. Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法

    一.单元测试的目的 简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作.以减少我们在发布的时候出现更过甚至 ...

  7. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  8. Android Junit测试框架

    对应用进行单元测试: 使用Junit测试框架,是正规Android开发的必用技术.在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性. 1.配置指令集和函数库: (1)配置指令集,指定 ...

  9. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

随机推荐

  1. 第二篇:Entity Framework CodeFirst & Model 映射

    前一篇 第一篇:Entity Framework 简介 我有讲到,ORM 最关键的 Mapping,也提到了最早实现Mapping的技术,就是 特性 + 反射,那Entity Framework 实现 ...

  2. WPF平台Grid控件性能比较

    WPF官方发布第一个版本至今已经有10年了, 我们几乎在同时也开始了XAML开发.即使经过多年打造,我们依旧尝试提高:我们真的成功打造了高效灵活的控件吗?我没有在其他地方找到任何关于优秀的WPF表格性 ...

  3. Git避免输入用户名和密码

    1. 在系统盘/用户/用户名目录下新建名为 _netrc 的文件: 2. 修改 _netrc 文件内容为“  machine git.mangning.comlogin xxxpassword xxx ...

  4. assign()

  5. json中含有Unicode的处理办法 C#

    public static class StringExtension { #region unicode 字符转义 /// <summary> /// 转换输入字符串中的任何转义字符.如 ...

  6. 用好spring mvc validator可以简化代码

    表单的数据检验对一个程序来讲非常重要,因为对于客户端的数据不能完全信任,常规的检验类型有: 参数为空,根据不同的业务规定要求表单项是必填项 参数值的有效性,比如产品的价格,一定不能是负数 多个表单项组 ...

  7. CSS、j's单行、多行文本溢出显示省略号

    在项目中,由于实际描述文字过多,导致初始页面纵向长度过长,也使得余下信息利用率降低:所以在文字过多的时候,初始化限制行数是有必要的 1. CSS单行文本溢出,显示省略号 <div style=& ...

  8. getElementsByTagName() 方法

    HTML DOM Document 对象 定义和用法 getElementsByTagName() 方法可返回带有指定标签名的对象的集合. 语法 document.getElementsByTagNa ...

  9. ArcGIS10.2.2 Desktop直接连接数据库的具体步骤

    ArcGIS10.2.2 Desktop直接连接数据库的具体步骤,以sqlserver2008R2和oracle11G数据库为例子,这里数据库的具体安装步骤不说了,不在讨论的范畴之内. 假如数据库软件 ...

  10. Android开发6:Service的使用(简单音乐播放器的实现)

    前言 啦啦啦~各位好久不见啦~博主最近比较忙,而且最近一次实验也是刚刚结束~ 好了不废话了,直接进入我们这次的内容~ 在这篇博文里我们将学习Service(服务)的相关知识,学会使用 Service ...