junit测试适用于代码的测试,是单元测试用于替代main方法
好处是一个类中可以同时测试多个方法,是以一个个的方法为单元
也是一个测试框架,里面封装了很多的代码测试方面的工具
版本:**
- junit3.8 - 已经被放弃,不会使用
- junit4以上版本 - 目前的主流版本
jar包是org.junit.Test
使用要求:
- 导入jar包
- 方法上写@Test注解 - 必须写
- 方法不能有参数也不能有返回值 - 特点
@Before
测试方法前执行的方法,一般用于测试前的资源加载,每一次执行@Test方法之前执行的。
@After
测试方法后执行的方法,一般用于回归测试,每一次执行@Test方法之后执行的。
**
package day2.test.test1;import org.junit.After;import org.junit.Before;import org.junit.Test;public class Test1_3 {@Testpublic void test1(){System.out.println("我是test方法");}@Beforepublic void test2(){System.out.println("我是前置方法");}@Afterpublic void test3(){System.out.println("我是后置方法");}}
输出:
我是前置方法我是test方法我是后置方法
一个坑
单元测试中无法从控制台中获取用户输入。
就是不能使用:Scanner sc = new Scanner(System.in);sc.next();
因为 junit不支持从键盘手动输入,准确来说这个不支持的说法也是相对来说,因为JUNIT是固定的测试,手动的输入会导致一直阻塞
junit是用例自动化单元测试的,那么控制台输入这个人工操作就不会支持
