junit测试适用于代码的测试,是单元测试用于替代main方法
好处是一个类中可以同时测试多个方法,是以一个个的方法为单元
也是一个测试框架,里面封装了很多的代码测试方面的工具

版本:**

  • junit3.8 - 已经被放弃,不会使用
  • junit4以上版本 - 目前的主流版本


jar包是org.junit.Test

使用要求:

  1. 导入jar包
  2. 方法上写@Test注解 - 必须写
  3. 方法不能有参数也不能有返回值 - 特点


@Before
测试方法前执行的方法,一般用于测试前的资源加载,每一次执行@Test方法之前执行的。

@After
测试方法后执行的方法,一般用于回归测试,每一次执行@Test方法之后执行的。
**

  1. package day2.test.test1;
  2. import org.junit.After;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. public class Test1_3 {
  6. @Test
  7. public void test1(){
  8. System.out.println("我是test方法");
  9. }
  10. @Before
  11. public void test2(){
  12. System.out.println("我是前置方法");
  13. }
  14. @After
  15. public void test3(){
  16. System.out.println("我是后置方法");
  17. }
  18. }

输出:

  1. 我是前置方法
  2. 我是test方法
  3. 我是后置方法

一个坑

单元测试中无法从控制台中获取用户输入。
就是不能使用:Scanner sc = new Scanner(System.in);sc.next();
因为 junit不支持从键盘手动输入,准确来说这个不支持的说法也是相对来说,因为JUNIT是固定的测试,手动的输入会导致一直阻塞
junit是用例自动化单元测试的,那么控制台输入这个人工操作就不会支持