一、IDEA整合Junit测试框架

  1.安装插件

  • 打开File菜单的下拉菜单settings[设置] ;
  • 点击左侧Plugins[插件]菜单
  • 在输入框中输入JUnitGenerator 2.0,点击Install
  • 重启IDEA

  

  2.配置插件

  • 打开settings[设置]
  • 点击左侧Other Settings[其他]菜单
  • 点击左侧JUnit Generator菜单
  • 点击Properties[属性]页签
  • 修改Output Path[输出路径]为${SOURCEPATH}/../../test/java/${PACKAGE}/${FILENAME}
  • 修改Default Template[默认模板]为JUnit4
  • 分别点开JUnit3和JUnit4页签
  • 将package test.$entry.packageName;修改成package $entry.packageName;
  • 将@since <pre>$date</pre> 修改成* @since <pre>$today</pre> ,防止乱码
  • 点击OK[确定]保存并退出设置

  

  3.程序目录配置
  创建目录:src\test\java

  • 打开File菜单的下拉菜单Project Structure[项目架构]
  • 点击左侧Modules[模块]菜单
  • 选中source下的src目录
  • 右键New Folder,文件夹名test/java
  • 点击ok保存设置

  

  4.项目配置

  • 打开File菜单的下拉菜单Project Structure[项目架构]
  • 点击左侧Modules[模块]菜单
  • 点击相关项目
  • 将src\test\java设置为Test Source Folder
  • 点击OK[确定]保存并退出设置

  

  注意:

  • Sources :一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。
  • Tests :一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,顶级目录是 src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 Sources。而单元测试的目录是 src - test - java,这里的 java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比较彻底的。
  • Resources :一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的 resources 目录我们就会设置为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
  • Test Resources :一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
  • Excluded :一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
  • 所以,对于非 maven 项目我们只要会设置 src 即可。

  5. 导包

  • 点击 File
  • Project Structure(快捷键 Ctrl + Alt + Shift + s)
  • 点击Project Structure界面左侧的“Modules”
  • 打开“Dependencies” 页签,点击右边绿色的 “+”号,选择第一个选项“JARs or directories…”
  • 选择相应的jar包(这里选IDEA的安装目录\lib\junit-4.12.jar,hamcrest-core-1.3.jar,junit.jar)
  • 点“OK”,jar包添加成功。

  

  6. 使用JUnit及逆行单元测试

  • 生成测试类

  方法一:快捷键Alt+Insert,选择Test,根据需要,修改测试用例。

  

  方法二:在待编写测试的java类源码块上按快捷键Alt + Insert,选择JUnit Test->JUnit 4。

  

  注意:若该快捷键点击无反应,需要自己设置自动创建测试类的快捷键。点击 file-> setting -> keymap 搜索:test

  • 运行测试类

  

  • 测试结果说明

  运行类级别测试的结果如下: 
  

  说明:

  1. 方法测试成功
  2. 方法测试失败
  3. 测试用时(毫秒)
  4. 期望值
  5. 实际值
  6. 异常信息

二、Eclipse中整合JUnit框架

  • 导包

  1、下载junit的jar包,目前它的版本是junit4.12,可以从www.junit.org上下载。

  

  2、在要使用Junit的project名上,点击properties--java build path-libraries, 点击Add library,选择JunitT即可。如图所示,点击Add library,在弹出的对话框中选择Jnuit。  

  

  • 测试

  点击要测试的类,选择other,找到 Junit test case 这个选项,点击next会看到一个新建测试用例的窗口

  

  

  然后点击 finish(完成),就可以看到新建的一个测试类了  

  

  点击进去,默认的是测试失败的,我们需要在里面编写测试代码~

  

  代码编写完后,我们可以运行这个测试用例

  

  运行之后,我们可以看到测试的结果,如果出错的话会显示错误信息。

  

Java高级特性 第10节 IDEA和Eclipse整合JUnit测试框架的更多相关文章

  1. Java高级特性 第11节 JUnit 3.x和JUnit 4.x测试框架

    一.软件测试 1.软件测试的概念及分类 软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.它是帮助识别开发完成(中间或最终 ...

  2. Java高级特性 第8节 网络编程技术

    一.网络概述 1.网络的概念和分类 计算机网络是通过传输介质.通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统.网络编程就就是编写程序使联网的两个(或多个)设 ...

  3. Java高级特性 第5节 序列化和、反射机制

    一.序列化 1.序列化概述 在实际开发中,经常需要将对象的信息保存到磁盘中便于检索,但通过前面输入输出流的方法逐一对对象的属性信息进行操作,很繁琐并容易出错,而序列化提供了轻松解决这个问题的快捷方法. ...

  4. Java高级特性 第1节 集合框架和泛型

    Java中,存储多个同类型的数据,可以用数组来实现,但数组有一些缺陷: 数组长度固定不变,布恩那个很好的适应元素数量动态变化的情况 可以通过数组.length获取数组长度,却无法直接获取数组中实际存储 ...

  5. Java高级特性 第14节 解析XML文档(2) - SAX 技术

    一.SAX解析XML文档 SAX的全称是Simple APIs for XML,也即XML简单应用程序接口.与DOM不同,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式.当使用S ...

  6. Java高级特性 第12节 XML技术

    一.XML简介 1. XML介绍 XML是可扩展标记语言(Extensible Markup Language ),XML是一种数据格式,类似 HTML,是使用标签进行内容描述的技术,与HTML不同的 ...

  7. Java高级特性 第7节 多线程

    一.进程与线程的概念 1. 进程 进程是应用程序的执行实例,有独立的内存空间和系统资源. 如上图,标红色的是一个Office Word进程. 进程的特点: 动态性:进程是动态的创建和消亡: 并发性:操 ...

  8. Java高级特性 第6节 注解初识

    一.注解概述 Java注解也就是Annotation,是Java代码里的特殊标记,它为Java程序代码提供了一种形式化的方法,用来表达额外的某些信息,这些信息是代码本身无法表示的. 注解以标签的形式存 ...

  9. Java高级特性 第2节 java中常用的实用类(1)

    一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...

随机推荐

  1. C# WebAPI分页实现分享

    第一次分享代码,不足或不对之处请指正.. 需求:微信端传递不同的参数调用WebAPI进行分页查询菜谱计划点评结果 思路:基于视图来查询,根据传递的不同参数拼接分页查询Sql来查询. 分页的sql如下 ...

  2. 主成分分析法PCA原理

    PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...

  3. elasticsearch(1) 安装和使用

    一.简介 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 但是 ...

  4. nginx——优化 Nginx 连接超时时间

    1. 什么是连接超时 (1) 举个例子,某饭店请了服务员招待顾客,但是现在饭店不景气,因此要解雇掉一些服务员,这里的服务员就相当于 Nginx 服务建立的连接 (2) 当服务器建立的连接没有接收处理请 ...

  5. 在Linux系统上安装Oracle数据库

    前期准备:我用的是虚拟机上的CentOS 64位系统.所以需要设置网卡,时间,EPEL源,安装一些必备的软件. 1.1在虚拟机上安装好Linux系统后选择虚拟机设置—>网络适配器—>网络连 ...

  6. Linux 驱动——Button驱动7(Timer)消抖

    button_drv.c驱动文件: #include <linux/module.h>#include <linux/kernel.h>#include <linux/f ...

  7. Shell编程(2)

    1 (1) (2) (3) 一.二都是显示数组所有元素,*是作为一个长字符串输出,@是作为数组一个一个输出 三.四都是输出数组的长度 五.六都是输出数组中第一个元素的长度 (4) unset是name ...

  8. 同一个服务器部署两个Tomcat并用Nginx实现反向代理

    需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理 一个upstream tomcat_server对应一个  locatio ...

  9. 微信自定义菜单errcode(40016)

    最近在做微信开发,通过微信API创建自定义菜单时候出现:{"errcode":40016,"errmsg":"invalid button size ...

  10. 配置两个Hadoop集群Kerberos认证跨域互信

    两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...