首先导入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包相冲突

  • 原因二:狗血原因,写junit测试的Java类名为Test.java

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐