JUnit工具包
1).它是一个第三方的软件包;
2).作用:在我们项目中做"单元测试"——当我们编写好一个方法后,想要测试这个方法,可能需要启动程序,然后进行一些其他的前置操作,然后
才能到达我们想测试的方法,这样就比较麻烦。JUnit可以制作一个像main()方法一样的方法,来直接调用我们想要测试的方法,非常方便。
3).它是基于"注解"实现的。
4).使用方式:
1).导入Junit的所需jar包——在IDEA中已经集成了JUnit的jar包,可以直接使用。
2).JUnit的几个主要注解:
1).@Test注解:用在要测试的方法上的。一个类中可以有多个@Test注解,每个注解的方法都可以单独执行,也可以一起执行——按方法名升序排序依次执行。
注意:
1).被测试的方法必须是:publie、void、无参、非static
2).@Before:所修饰的方法会在@Test注解之前被执行。一个类中可以定义多个@Before注解,每次执行@Test测试方法时,所有的@Before方法都会被执行,按方法名降序排序
3).@After:所修饰的方法会在@Test之后被执行。也可以有多个,按方法名升序排序。
4).@BeforeClass:修饰静态方法,在所有的@Before之前被执行,而且只执行一次。
5).@AfterClass: 修饰静态方法,在所有的@After之后被执行,而且只执行一次。
5).Java中的断言:assert
1).它是一个关键字;
2).专门用于在测试阶段,测试某些数据是否符合要求,是:正常执行,否则:抛出异常。
3).主要用于测试我们自己写的模块内部所使用的一些正常数据,防止自己发生失误:
简单说就是:我自己写的方法给我自己用的,当我自己内部调用的时候,我期望数据总是正确的,但为了防止我自己失误,可以使用断言。
4).使用步骤:
1).在IDEA中开启断言:菜单Run-->Run configrations-->VM options里面输入:-ea
2).编写代码,使用断言
public static void main(String[] args) {
//1.获取一个月份值
int m = DateUtils.getMonth();
//使用JDK断言:m必须是1--12的一个值,如果不是,需要抛出异常
// assert m >= 1 && m <= 12 : "失误了,源码应该被改错了!";
//使用JUnit的断言
Assert.assertTrue("失误了!",m >= 1 && m <= 12);
System.out.println("第一次获取:" + m);
//2.再次获取
int m2 = DateUtils.getMonth();
System.out.println("第二次获取:" + m2);
}