首页 > 编程知识 正文

junit单元测试实例,junit进行单元测试

时间:2023-05-04 18:46:01 阅读:204050 作者:357

一、导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再次运行就成功了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。