Junit的导包及单元测试
一、导Junit4的jar包1、右键项目->properties->Java Bulid Path->Libraries->Add Libraries2、选择Junit,->Next3、选择Junit4,点击Finish4、这时已经有Junit4了,点击Apply and Close5、项目已经有Junit4 的jar包了二、测试例子:测试com.ts.bean 下的
一、导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 block
data = null;
e.printStackTrace();
}finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 {
@Test
public 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再次运行就成功了。
更多推荐
所有评论(0)