1、在个人电脑中安装一个集成开发环境(Microsoft Visual Studio、Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能;

2、记录安装过程,并将全部内容发表在博客中;

3、实现最大子数组和算法,并将该段代码上传至Coding.net系统中;

4、自行选择合适的覆盖标准并设计测试用例对该段代码进行测试,并将测试结果发布在博客中,结果以如下表格形式完成。

用例编号

用例描述

输入数据

预期输出数据

实际输出数据

通过/不通过

评价

  Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。所以它是一款非盈利性的、专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。对于它的一些理解体会可以参考我的上一篇博文《不同类型软件的分析》,其中讲到了我对于Eclipse使用的一些心得体会。今天的任务主要是讲解一下Eclipse的安装和使用Eclipse自带的Junit工具对最大子数组和算法进行单元测试。

  

一、Eclipse的安装

1.1、下载安装JDK

  安装Eclipse之前,我们需要在电脑上搭建一下Java的开发环境,也就是需要安装JDK(JDK中附带有JRE),目前版本最高的是JDK8.0,大家可以自行到官网上去搜索下载。下载到如图一所示的exe文件,然后双击安装,如图二,接下来按照提示操作即可。注意记一下安装路径,下一步需要用来配置环境变量。 

图一 JDK安装文件图

图二 JDK安装界面图

1.2、配置环境变量

  安装好JDK后,我们需要配置一下电脑的环境变量。首先找到我的电脑(我系统是win8.1),右击选择属性,选择高级系统设置,然后选择环境变量,操作过程如图三,然后新建三个环境变量分别是:变量名:path,变量值:JDK中bin文件夹的路径;变量名:classpath,变量值:JDK中lib文件夹的路径;变量名:JAVA_HOME,变量值:JDK的路径(如果已经存在变量名,那么在变量值中加上你要写的路径,中间用分号隔开),如图四。

图三 环境界面配置图

图四 环境变量配置图

  配置完环境变量,我们通过DOS命令提示符来进行测试,在界面中输入java -version,如果出现如图五的提示证明环境搭建成功,接下来就可以安装eclipse了。

图五 环境搭建测试图

1.3、安装Eclipse

  Eclipse的安装包我们可以从官网上下载(www.eclipse.org),也可以找身边人拷贝免安装的压缩包,解压直接使用。具体安装过程没有什么难点,按照提示一步一步操作下去就可以了。进去以后的操作界面如图六。

图六 Eclipse界面图

二、最大子数组和算法的实现与测试

2.1、最大子数组和算法

  我实现程序的算法使用的是暴力枚举法,如图七所示,写了一个类,类中一个方法解决最大子数组和的程序。具体代码已经上传至coding中(https://coding.net/u/yuanjin/p/MaxArraySum/git/blob/master/sumMaxArray.java)。

图七 代码界面图

2.2、代码的单元测试

  接下来对编写的最大子数组和进行测试,我使用的是Eclipse自带的单元测试工具JUnit,首先点击文件,新建,选择Junit Text Case,然后选择要测试的类和方法,如图八,创建成功如图九。

图八 操作过程图

图九 创建成功界面图

  然后编写测试代码,具体代码已上传至coding中(https://coding.net/u/yuanjin/p/MaxArraySum/git/blob/master/sumMaxArrayTest.java)。我选择了7组数据进行测试分别包含了全正数、全负数、全零、正数和零、负数和零、正数和负数、正数负数和零,共七种情况,第一次测试结果如图十所示,显示有两组数据测试出错。

图十 第一次测试图

  我仔细研究之后,发现问题出在算法上,开始将最大值赋值为零,导致有负数时会出现错误,于是我将初始值设定为最大的带符号整数0x7FFFFFFF解决了问题,再次测试全部通过,如图十一。

图十一 测试成功图

2.3、表格的完成

  

用例编号

用例描述

输入数据

预期输出数据

实际输出数据

通过/不通过

评价

1

全正数

{1,2,3,4}

10

10

通过

一次性通过,证明全正数算法正常

2 全负数 {-1,-2,-3,-8,-4,-6,-9} -1 -1 通过 第一次出错,在于最大值初值问题,已解决
3 全零 {0,0,0,0,0} 0 0 通过 一次性通过,证明全零算法正常
4 正数和零 {2,22,0,10,17} 51 51 通过 一次性通过,证明正数和零算法正常
5 负数和零 {-4,-2,0,-12,-1} 0 0 通过 一次性通过,证明负数和零算法正常
6 正数和负数 {2,22,-10,17} 31 31 通过 第一次出错,在于最大值初值问题,已解决
7 正数负数和零 {-4,-2,0,12,1} 13 13 通过 一次性通过,证明正数负数零算法正常

2016年10月9日星期日

程浩

   

转载于:https://www.cnblogs.com/chenghao1/p/5940040.html

如何用Eclipse进行单元测试相关推荐

  1. Win7下如何用Eclipse导出jar类型的文件,并且可以用鼠标双击打开jar类型的文件的方法(解决双击后一闪而过)...

    近来在学Java,可是遇到一个问题,就是Java项目能不能像.exe文件一样,双击就能点击运行呢.后来老师讲到可以将其导出成为Jar文件,双击打开就可以了. 下面介绍一下,如何用Eclipse将Jav ...

  2. 如何用Eclipse调试(debug)Java代码?

    如何用Eclipse调试(debug)Java代码? 这是一个目录 如何用Eclipse调试(debug)Java代码? 1.调试展示前的准备 1.1 初始页面展示 1.2 调试代码展示 2.调试步骤 ...

  3. SSM+Maven+Eclipse进行单元测试时提示找不到Config配置项/文件

    场景 在Eclipse+SSM+Maven中进行单元测试时,会提示Config配置文件/信息找不到 原因 在测试类中调用了正常业务中的方法/接口,而在方法中有用到常量的地方, 而常量又是在封装的常量类 ...

  4. Android项目使用Eclipse进行单元测试

    Android项目如果每次都整个调试的话,要加载UI,会等很长时间.所以单元测试就显得很方便了. 要进行单元测试,首先得修改下AndroidManifest.xml文件.在Instrument标签里点 ...

  5. Maven如何用Eclipse创建一个Maven项目【笔记自用】

    1.Maven的安装与设置环境变量 想要创建一个Maven项目需要先安装Maven,并且设置好环境变量 去下载Maven 设置环境变量 新建变量MAVEN_HOME,值为Maven的目录X:\XXX\ ...

  6. eclipse执行单元测试报CreateProcess error=87的解决方法

    原因是classpath的路径过长导致,在网上看了很多文章,发现解决方法有2种: 1.更改项目路径 或者 maven本地库的路径,减少classpath的深度. 2.由于这是eclipse自身的bug ...

  7. JSP 编译原理:JSP 是 Servlet?如何用 Eclipse 查看 JSP 编译生成的 Servlet 源文件?

    文章目录 前言 一.JSP 文件编译流程原理 二.创建并运行待测试 JSP 页面 三.查找 JSP 编译文件输出位置 3.1.打开动态项目运行配置 3.2.查看 JSP 编译文件输出位置 3.3.查看 ...

  8. eclipse 编译Android,如何用eclipse编写android程序

    方法/步骤 1 1)首先,下载android SDK.介绍一种非常简单的方法,一并下载eclipse.在百度中输入android SDK,进入搜索界面.选中第一条. 2)如果你已经有eclipse,你 ...

  9. 关于如何用eclipse上班看小说

    其实这个文章代表了俺的罪孽... 俗话说:好逸恶劳是罪孽啊 ....我的时间啊... --------------------------------------------------------- ...

  10. 如何用Eclipse编写第一个Java应用程序

    常见的Java程序主要有两类:Application(应用程序)和Servlet(服务器端小程序). 应用程序在计算机中单独运行,而Servlet是运行在服务器端的小程序,它可以处理客户端传来的请求( ...

最新文章

  1. google gflags的参数解析,便捷实用
  2. APUE(第四章)文件和目录
  3. vim编辑器全部删除文件内容
  4. matlab 随机森林算法_(六)如何利用Python从头开始实现随机森林算法
  5. [Halcon] 算子学习_Calibration_Calibration Object
  6. Node连接MySQL数据库进行基本的增删改查操作(一看就会)
  7. 为什么机器学习工程师严重短缺?
  8. PLM 问卷调查表-A 关于公司
  9. Java 多线程 简单实例 (Thread)
  10. 常用的几种排序算法C++实现(冒泡排序,插入排序,选择排序)
  11. 数据库系统的并发控制的两种实现模型
  12. 初识SQL(新手入门)
  13. 对抗训练+FGSM, FGM理解与详解
  14. 中芯国际任命高永岗为董事长 周子学辞任执行董事职务
  15. A micro Lie theory for state estimation in robotics005:The tangent spaces and the Lie algebra
  16. 台湾各个大学硕博论文链接,很全,有的可以全文下载。
  17. zoj2587 Marlon's String
  18. Vulkan再探(12):输入附件
  19. linux 射击 游戏,Ubuntu下安装第一人称射击游戏 Nexuiz 2.4.2(图)
  20. localforage前端本地存储

热门文章

  1. 关于触摸方向判断的bug
  2. C#学习笔记第一篇——类进阶
  3. class type
  4. Spring项目启动后报连接MYSQL错误两则
  5. filebeat日志采集的一次流程记录
  6. 使用javaGUI编写检测是否有网
  7. linux下 Tomcat 端口号修改
  8. 【渝粤教育】国家开放大学2018年春季 8639-22T食品营养与健康 参考试题
  9. 【渝粤教育】电大中专电商运营实操_1作业 题库
  10. 236.Lowest Common Ancestor of a BinaryTree