一、导Junit4的jar包

1、右键项目->properties->Java Bulid Path->Libraries->Add Libraries

2、选择Junit,->Next

3、选择Junit4,点击Finish

4、这时已经有Junit4了,点击Apply and Close

5、项目已经有Junit4 的jar包了

二、测试

例子:测试com.ts.bean 下的ReadData.java

ReadData.java的内容:

package com.ts.bean;/*** 读取io数据* @author 汐子*/
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;import com.ts.model.LeavingMessage;public class ReadData {public static String readStudent1(String path) {File br = new File(path);FileReader fileReader = null;char[] btuffer = new char[1024];StringBuffer data = new StringBuffer();try {fileReader = new FileReader(br);int len = 0;while ((len = fileReader.read(btuffer)) != -1) {data.append(btuffer, 0, len);}} catch (Exception e) {// TODO Auto-generated catch blockdata  = null;e.printStackTrace();}finally {if (fileReader != null) {try {fileReader.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}if (data != null) {return new String(data);}return null;}
}

生成测试类:

右键要测试的类-> new ->other->搜索Junit,选择Junit Test Case,点击next

点击next

选择要测试的方法,然后点击Finish

补充要实现的东西后,TestReadData.java 内容为:

package com.ts.bean.test;import org.junit.Test;import com.ts.bean.ReadData;public class TestReadData {@Testpublic void testReadStudent() {String data = ReadData.readStudent1("E:\\eclipse-jee-2019-06-R-win32-x86_64\\TeacherSystem\\src\\files\\Contact.txt");//文件路径System.out.println(data.length());}
}

右键测试类->Run As ->Junit Test,出现下面的情况即为正确运行

解释图片:JunitTest结果有Runs,Errors和Failures三个显示状态。

Runs显示的是运行的测试用例数量

Failure指的是预期的结果与实际运行单元的结果不同所导致,例如当您使用assertEquals()或其它assertXXX()方法断言失败时,就会回报Failure,这时候您要检查您的单元方法中的逻辑设计是否有误。

Failure一般由单元测试使用的断言方法判断失败所引起的,这就表示测试点发现了问题,就是说程序输出的结果和我们预期的不一样。

Error指的是程序没有考虑到的情况,在断言之前程式就因为某种错误引发例外而终止,例如在单元中存取某个阵列,因为存取超出索引而引发。Error是由异常引起的,它可以产生与测试代码本身的错误,也可以是被测试代码中的一个隐藏的bug。

Junit需要注意的东西:

1、Junit测试前要确保导入了JUnit所需要的jar包(junit-4.12.jar和hamcrest-core-1.3.jar);
2、被JUnit注解修饰的函数必须是用public修饰
3、被JUnit注解修饰的函数的返回值必须为void;
4、被JUnit注解修饰的函数不能用static修饰;
5、被JUnit注解修饰的函数不能带有参数。
6、生成的测试类是半自动的

错误解决:

1、Junit测试出现Not yet implemented情况时:


是因为eclipse 生成的Junit Test Case的存根,它将使用添加测试方法fail(“Not yet implemented”)。如果忘记添加真实的实现,则测试结果就会报错,并且错误或断言错误显示尚未实现。

2、Junit测试时当有Class not found XXX情况出现时:
有效的解决方法:
Window->Preferences ->Java->Compiler->Building->Building Path Problems

如上图,将Incomplete build path:和Circular dependencies:的Error 改成 Warning
然后点击Apply and Close再次运行就成功了。

Junit的导包及单元测试相关推荐

  1. IDEA中的单元测试模块(Junit)不能自动导包

    IDEA中的单元测试模块(Junit)不能自动导包? 问题描述: 解决方法: 问题描述: 在Java学习中,JUnit模块可以说是比不可少的,IDEA经常出现不能自动导入JUnit4的情况,经过多次尝 ...

  2. springboot导包显示不存在_基础篇:Spring Boot入门体验(图文教程)

    优质文章,及时送达 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架.Spring Boot 是所有基于 Spring Framework 5.0 开 ...

  3. idea自动导包_IDEA已经世界第一了,听说你还不会?

    IDEA是IntelliJ公司开发的在业界内被公认为最好的java开发工具,尤其在代码智能助手.代码自动提示.重构.JavaEE支持.各类版本工具(git.svn等).JUnit.CVS整合.代码分析 ...

  4. java中的jar包以及单元测试

    1. jar包 jar包是什么? jar包:是java中的特殊的一种压缩格式的包 jar包中压缩的是class文件,把jar包提供给需要的项目使用 导出jar包的步骤: 右键单击要导出的jar包的项目 ...

  5. Maven导包及打包

    Maven是什么 Maven是一个跨平台的项目管理工具.作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具.maven是 ...

  6. Android 删除无用的导包

    window 10 系统 如果项目常见很久了,每个界面的去掉可以使用 ctrl + alt + o 快捷键, 或者  code -->Optimize imports 当然这样也是比较麻烦,为了 ...

  7. java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...

    1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的 ...

  8. RecyclerView导包

    2019独角兽企业重金招聘Python工程师标准>>> 由于RecyclerView放在support library v7包中,所以我们想要使用就必须要导包.下面就介绍下在Ecli ...

  9. Eclipse之JSON导包

    1.选中要导包的工程-–>2.右击选择创建文件夹--->3.将要导的包复制到该文件夹下--–>4.右击要导入的包-->5.选择Build path->Add to Bui ...

最新文章

  1. R语言描述性统计分析:相关性分析
  2. git上传超过100m大文件
  3. golang-flag的问题
  4. Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
  5. kafka学习_Kafka学习笔记下
  6. oracle报错:ORA-00054: 资源正忙,要求指定 NOWAIT
  7. dubbo全局异常处理_基于spring aop的dubbo异常统一处理
  8. loadrunner-3-1创建测试场景
  9. 没有样式重置_我不能没有的5个Vue.js库
  10. 互联网“收割”网瘾父母
  11. 智能一代云平台(九):EclipseLink返回Object转为实体的分析
  12. 2017-08-16 BEX5下集成FullCalendar
  13. 游戏筑基开发之单链表及其增删改查(C语言)
  14. 去蓝港在线面试Unity3D的笔试题。难吗?知道答案的在评论里写出来分享
  15. 浏览器根对象window之caches
  16. 【Maven】Idea搭建多Module项目修修补补
  17. (Java实现)洛谷 P1093 奖学金
  18. Ant实现自动打包部署
  19. 程序员跳槽时,如何正确做好职业规划?
  20. 保密容量【Secrecy Capacity】

热门文章

  1. C语言学习之【计算机和编程语言】
  2. HTML网页之坦克大战游戏
  3. 纯CSS实现720全景?不用Three.js 也可以
  4. 7大赚钱思维,句句灼心!
  5. word 2010+ 从指定页开始设置页码
  6. Latex之竖排表格
  7. 面试必刷算法TOP101之图算法篇 TOP37
  8. 中科蓝讯蓝牙:RAM使用,ram.ld文件和map.txt文件的查看
  9. 博客园自定义markdown样式
  10. JAV中类、实例与Class对象