junit
junit是一个单元测试框架,使用junit之后可以运行非main方法中的程序
使用junit要导入相关jar包,junit官网下载或者eclipse中自带有jar包,导入步骤为:
方法1:使用eclipse的插件junit,项目上右键—>properties—>java build path—>选择libraries一项—>点击add library—junit,导入相关junit的jar包即可。
方法2:外部下载junit的jar包和依赖包hamcrest-all-1.3.jar ,将两个jar复制到工程中,在项目右键-->Build Path-->Configure Build Path -->Libraries-->选中classpath项,-->add jars,添加jar包
说明:junit4.13的依赖包是hamcrest-core-1.3.jar,但是没找到hamcrest-core-1.3.jar,只找到了hamcrest-all-1.3,也是可以用的,用第二种方式可以查看junit的源码
使用
在要测试的方法上加上注解@Test,测试方法不能带返回值,不能有方法参数
import org.junit.Test;
public class JunitTest {
@Test
public void test1() {
String s1="helloworld";
System.out.println(s1);
}
}
说明:运行单个测试方法时,要选中该方法名,右键Run As->Junit Test,如果没选中方法名,会同时运行多个带@Test注释的测试方法
Assert类
org.junit.Assert,调用该类的一些方法,可测试方法运行结果与预期结果是否一致,这种方式叫做断言。
常用方法:
static void assertEquals(double expected, double actual)参数1预期结果,参数2 带返回值的方法
static void assertEquals(double expected, double actual, double delta)参数1,预期结果.参数2,带返回值的方法,参数3浮动值
有多个重载的assertEquals方法
TestCase抽象类
junit.framework.TestCase 继承自Assert类,继承了上述方法
示例:
自定义一个类,写两个方法
public class Calculate {
public int add(int a,int b) {
return a+b;
}
public double divide(double a,double b) {
return a/b;
}
}
示例junit
import org.junit.Assert;
import org.junit.Test;
import junit.framework.TestCase;
public class JunitTest {
@Test
public void testAdd() {
System.out.println("hello");
}
@Test
public void test2() {
Calculate cal=new Calculate();
Assert.assertEquals(12, cal.add(7, 5));
TestCase.assertEquals(13, cal.add(5, 8));
TestCase.assertEquals(3, cal.divide(10, 3), 0.4);
Assert.assertEquals(3, cal.divide(10, 3), 0.4);
}
}
参考:小猴子视频