junit简介
junit简介
junit是一个单元测试框架,之前的代码中只能运行main方法中的内容,使用junit之后,可以直接运行非main方法中的内容。
要使用junit需要先导入相关jar包,可以去junit官网下载相关jar,也可以在IDEA或eclipse中直接加入相关jar。
IDEA比较麻烦啊 他要下载包后倒入
Eclipse 直接在项目上右键—>properties—>java build path—>选择libraries一项—>点击add library—junit,导入相关junit的jar包即可。
junit的使用
在想要运行的方法上面加上@Test注解,在方法上右键run(想允许那个方法就选中方法名然后选junit允许模式允许)即可运行。
注意:在@Test注解修饰的测试方法中不能有返回值,不能有方法参数,不能使用static修饰,必须要用public修饰。即必须要以下格式:
import org.junit.Test; public class CaculateTest01 { @Test public void test1(){ System.out.println("来之1024小猴子的笔记 我学习我开心"); } }
我们还可以使用@Before和@After注解标记方法
@Before public void beforeTest1() { System.out.println("该方法会在test1方法之前执行"); } @After public void afterTest1() { System.out.println("该方法会在test1方法之后执行"); } @Test public void test1() { System.out.println("monkey1024"); }
//下面是自己写的:
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class temp_01 {
@Test
public void test1() {
System.out.println("我是JUnit允许模式下的");
}
@After
public void after() {
System.out.println("我是after注解 我是第3运行");
}
@Before
public void before() {
System.out.println("我是before下的 我是第1运行");
}
}
//千万要junit4啊 5的话报错 我也不知道为什么
允许顺序(吐过都存在):
@Before 第一允许
@Test 第二允许
@After 第三允许
你可以尝试一下!
junit断言:
junit中提供了Assert类,通过调用该类中的方法,可以测试一下方法运行的结果跟我们想要的结果是否一致,这种方式叫做断言。
就好比说 我断言今天晚上下雨 我说一定 但你不一定下雨是不是 那么就有失败 和 成功区分了:
创建一个Caculate类,里面有两个方法分别计算两个数字相加和相除:
/** * 计算器 */ public class Caculate { public int add(int a, int b){ return a+b; } public double devide(double a, double b){ return a/b; } }
使用junit的assert断言进行测试:
它里面有个
Assert 类 其中有 assertEquals 方法 ,这个方法中有很多重载 三个参数的有带浮动值的 例子下面代码看:注意看注释!
Tips:如遇废弃的话 导 Assert 换成 import org.junit.Assert 即org里面的包.即可。
包换成
import org.junit.Assert; import org.junit.Test; import junit.framework.TestCase; public class CaculateTest01 { @Test public void test1(){ System.out.println("monkey1024"); } @Test public void test2(){ Caculate c = new Caculate(); Assert.assertEquals(15, c.add(10, 5)); TestCase.assertEquals(15, c.add(10, 5)); } @Test public void test3(){ Caculate c = new Caculate(); //因为10除以3是除不尽的,0.4是允许的浮动范围 Assert.assertEquals(3, c.devide(10, 3), 0.4); //它的意思就是说 3.33333 我0.4 的话比你3.3大 那么我就是成功 如果你写个 0.3 那么就比3.3小 那么我就失败 } }