首先导入junit所需要的jar包,然后在需要测试的方法上加相应的注解:
在右侧点击相应的方法,然后点击run as,选择Junit test。如果通过的话右下角Junit会显示绿条,测试不通过就会显示红条。
以上是对单个方法进行测试,若需要对多个方法进行测试,在右侧点击类名,然后点击run as,选择Junit test。如果通过的话右下角Junit会显示绿条,测试不通过就会显示红条。
另外再说两个注解,Before和After。
上述代码点类名进行Junit测试运行结果为(绿条):
before
run
after
before
eat
after
Before是在每个方法运行之前都会运行,所以一般开发中我们往往会将一些重复的定义,以及重复的初始化写在这里面。After是在每个方法运行完毕后都会执行,可进行回收,释放资源等操作。
与之相区别的就是BeforeClass和AfterClass。上述程序点类名进行Junit测试运行结果为(绿条):
beforeClass
run
eat
afterClass
BeforeClass是在类加载的时候执行的,所以需要被注解的方法声明为静态的方法,AfterClass也是同理。
可见与上面Before和After的区别在于,BeforeClass和AfterClass分别只是在程序开始和结束运行一次。
另外再讲一下断言(Assert):
Assert.assertArrayEquals(expecteds, actuals);
Assert.assertArrayEquals(new int []{1,2}, new int []{1,2});
第一个参数是期望的值,第二个参数是实际得到的值。如果期望的值与实际的值相同,则测试通过,否则测试不通过。
Assert.assertArrayEquals(message, expecteds, actuals);
判断期望的值与实际的值是否相同,如果不相同则输出前面的消息(message)。
引入Junit后,进行单元测试,莫名其妙报了个这样的错误
The import org.junit.Test conflicts with a type defined in the same file
- 原因一:常规原因,导入的jar包相冲突