Junit的导包及单元测试
一、导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的导包及单元测试相关推荐
- IDEA中的单元测试模块(Junit)不能自动导包
IDEA中的单元测试模块(Junit)不能自动导包? 问题描述: 解决方法: 问题描述: 在Java学习中,JUnit模块可以说是比不可少的,IDEA经常出现不能自动导入JUnit4的情况,经过多次尝 ...
- springboot导包显示不存在_基础篇:Spring Boot入门体验(图文教程)
优质文章,及时送达 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架.Spring Boot 是所有基于 Spring Framework 5.0 开 ...
- idea自动导包_IDEA已经世界第一了,听说你还不会?
IDEA是IntelliJ公司开发的在业界内被公认为最好的java开发工具,尤其在代码智能助手.代码自动提示.重构.JavaEE支持.各类版本工具(git.svn等).JUnit.CVS整合.代码分析 ...
- java中的jar包以及单元测试
1. jar包 jar包是什么? jar包:是java中的特殊的一种压缩格式的包 jar包中压缩的是class文件,把jar包提供给需要的项目使用 导出jar包的步骤: 右键单击要导出的jar包的项目 ...
- Maven导包及打包
Maven是什么 Maven是一个跨平台的项目管理工具.作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具.maven是 ...
- Android 删除无用的导包
window 10 系统 如果项目常见很久了,每个界面的去掉可以使用 ctrl + alt + o 快捷键, 或者 code -->Optimize imports 当然这样也是比较麻烦,为了 ...
- java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...
1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的 ...
- RecyclerView导包
2019独角兽企业重金招聘Python工程师标准>>> 由于RecyclerView放在support library v7包中,所以我们想要使用就必须要导包.下面就介绍下在Ecli ...
- Eclipse之JSON导包
1.选中要导包的工程-–>2.右击选择创建文件夹--->3.将要导的包复制到该文件夹下--–>4.右击要导入的包-->5.选择Build path->Add to Bui ...
最新文章
- R语言描述性统计分析:相关性分析
- git上传超过100m大文件
- golang-flag的问题
- Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
- kafka学习_Kafka学习笔记下
- oracle报错:ORA-00054: 资源正忙,要求指定 NOWAIT
- dubbo全局异常处理_基于spring aop的dubbo异常统一处理
- loadrunner-3-1创建测试场景
- 没有样式重置_我不能没有的5个Vue.js库
- 互联网“收割”网瘾父母
- 智能一代云平台(九):EclipseLink返回Object转为实体的分析
- 2017-08-16 BEX5下集成FullCalendar
- 游戏筑基开发之单链表及其增删改查(C语言)
- 去蓝港在线面试Unity3D的笔试题。难吗?知道答案的在评论里写出来分享
- 浏览器根对象window之caches
- 【Maven】Idea搭建多Module项目修修补补
- (Java实现)洛谷 P1093 奖学金
- Ant实现自动打包部署
- 程序员跳槽时,如何正确做好职业规划?
- 保密容量【Secrecy Capacity】