1.选定开发工具

选定eclipse为开发工具,用JAVA进行编程,实现此次测试。

![](https://img2018.cnblogs.com/blog/1644765/201904/1644765-20190412222343264-1779774141.png)

2.编写需要被测试的java类

此次我们以顺序查找与二分查找法为例。

package com.mycode.tuils;

public class Search {

	public int sqlSearch(int a,int[] arr,int b)  //顺序查找
{
int i;
for(i=0;i<arr.length;i++)
{
if(a==arr[i])
{
b=i;
break;
}
}
return b;
} public int binarySearch(int a,int[] arr,int b) //二分查找法("arr"为排序[升序]过后的数组)
{
int low=0;
int high=arr.length-1;
int mid;
while(low<=high)
{
mid = (low + high)/2;
if (arr[mid] == a)
{
b = mid;
break;
}
else if (arr[mid] < a)
low = mid + 1;
else if (arr[mid] > a)
high = mid - 1; }
return b;
} }

3.创建测试单元

(1)右键点击新建的project,选定Build Path->Add Library->JUnit->JUnit5

(2)创建新的Sound folder,命名为test(src->Sound floder)

(3)自动生成测试类,选定编写的被测试类Search()->NEW->orther

(4)点开orther,在Wizard中搜索JUnit->JUnit Test Case,如下图所示,修改图中红色标记处。

![](https://img2018.cnblogs.com/blog/1644765/201904/1644765-20190413161206264-1981526342.jpg)

(5)点击下一步,选定所有被测试函数->Finish。

![](https://img2018.cnblogs.com/blog/1644765/201904/1644765-20190413161507742-1783102241.png)

4.编写测试类

package com.mycode.tuils;

import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; class SearchAutoTest { @Test
public void sqlSearch()
{
int[] arr= {1,5,8,6,11,25,36,42,15,85};
int a=8;
int b=0;
int c=2;
assertEquals(c,new Search().sqlSearch(a,arr,b)); } @Test
public void binarySearch()
{
int[] arr= {1,5,6,8,11,15,25,36,42,85};
assertEquals(3,new Search().binarySearch(8,arr,0));
}
}

5.运行测试类

选定测试类->Run As->JUnit Test

##6.测试结果

当Errors=0,与Failures=0,以及所有函数运行成功时说明此次测试成功。如下图所示。

![](https://img2018.cnblogs.com/blog/1644765/201904/1644765-20190413152833361-1223695564.png)

###注意:

(1)每个测试函数前加@Test,以保证测试可以正常运行。

(2)测试类与被测试类所在的包的名字必须相同。

(3)编写被测试代码时先写主函数,保证程序的正常运行,在测试前再删除主函数。

JAVA的单元测试技术的更多相关文章

  1. Java单元测试技术1

    另外两篇关于介绍easemock的文章:EasyMock 使用方法与原理剖析,使用 EasyMock 更轻松地进行测试 摘要:本文针对当前业软开发现状,先分析了WEB开发的技术特点和单元测试要解决的问 ...

  2. ABAP和Java的单元测试Unit Test

    ABAP ABAP class单元测试的执行入口,CLASS_SETUP, 是硬编码在单元测试框架实现CL_AUNIT_TEST_CLASS里的. 待执行的单元测试方法通过CL_AUNIT_TEST_ ...

  3. java的poi技术读取Excel数据到MySQL

    这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...

  4. Java 加解密技术系列文章

    Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列 ...

  5. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

  6. java的poi技术写Excel的Sheet

    在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-20 ...

  7. Java Web编程技术学习要点及方向

    学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...

  8. java的poi技术读,写Excel[2003-2007,2010]

    在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...

  9. java的poi技术读取Excel[2003-2007,2010]

    这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...

随机推荐

  1. webpack 代码分割一点事

    webpack 俨然已经成为前端最主流的构建工具,其功能多种多样,我们今天就来分析下关于代码分割这部分的一点事,并在最后讲述如何实现在webpack编译出的代码里手动添加一个异步chunk. 什么是c ...

  2. KeyguardSimPinView

    /* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  3. flask 图文混排的简单操作

    1.引入js 包<script type="text/javascript" src="../../static/news/js/jquery-1.12.4.min ...

  4. H5视频直播扫盲

    H5视频直播扫盲 2016-05-25 • 前端杂项 • 14 条评论 • lvming19901227 视频直播这么火,再不学就out了. 为了紧跟潮流,本文将向大家介绍一下视频直播中的基本流程和主 ...

  5. 关于java中为什么尽量把受检异常转化为非受检异常

    首先理解一下受检异常与非受检异常: 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机操作中可能遇到的异常,是一种常见的运行错误,只要程序设计的没有问题通常就不会发生.受检异常与程序的上 ...

  6. Centos7快速部署saltstack

    saltstack是一个和ansible差不多的自动化运维工具,可以用来批量管理大量主机 OS:centos7.3 server:172.16.13.159 client: 172.16.13.156 ...

  7. How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows and Windows Server

    转自:https://support.microsoft.com/en-us/help/2696547/detect-enable-disable-smbv1-smbv2-smbv3-in-windo ...

  8. tf.Variable() 与tf.get_variable()的区别

    每次调用 tf.Variable() 都会产生一个新的变量,变量名称是一个可选参数,运行命名相同,如果命名冲突会根据命名先后对名字进行处理, tf.get_variable()的变量名称是必填参数,t ...

  9. 计算机图形学----基于3D图形开发技术 (韩正贤 著)

    第1章 游戏模型 第2章 顶点处理机制 第3章 光栅化操作 第4章 片元处理和输出合并 第5章 光照和着色 第6章 参数曲线和表面 第7章 着色器模型 第8章 图像纹理 第9章 凹凸贴图 第10章 高 ...

  10. py-day4-2 python 内置函数

    zip() #zip 拉链方法 一一对应 只要是序列类型的都可以 print(list(zip(('a','b','c'),(1,2,3)))) 结果: [('a', 1), ('b', 2), (' ...