什么是JUnit?

  • JUnit是一个开源的Java语言的单元测试框架,专门针对Java设计,使用最广泛。JUnit是事实上的单元测试的标准框架,任何Java开发者都应当学习并使用JUnit编写单元测试。
  • 使用JUnit编写单元测试的好处在于,我们可以非常简单地组织测试代码,并随时运行它们,JUnit就会给出成功的测试和失败的测试,还可以生成测试报告,不仅包含测试的成功率,还可以统计测试的代码覆盖率,即被测试的代码本身有多少经过了测试。对于高质量的代码来说,测试覆盖率应该在80%以上。

    安装步骤

  1. 如果没有安装IDEA,需要先配置好相关环境。
  2. 打开IDEA,先新建一个Java项目,点击 文件File-新建New-项目Project
  3. 完成项目的创建后,点击 文件File-设置Settings-Plugins 在搜索栏搜索 JUnit,进行安装。

image.png
我的IDEA使用的是2019年版本,默认安装了JUnit。

  1. 通过Libraries添加Jar包

1)打开 File -> Project Structure ->Modules-> 在Dependencies 下添加jar包。
我使用的IDEA,自带JUnit-4.1.2跟Hamcrest-core-1.3jar包,在存储路径下lib文件夹中。若没有,需要到网上下载这两个jar包,添加到依赖项中。
需注意:从JUnit 4.11开始,**Hamcrest**已经不再包含在junit.jar中了,需要单独引入。
image.png
2)添加jar包后,如图所示
image.png

  1. 新建一个测试目录

创建一个和src同级别的文件夹叫test(逻辑代码放src里,测试代码放test里是个好习惯)。接着在IntelliJ IDEA里还要把这个test文件夹要设置成测试文件的根目录,右键选中Mark Directory As - Test Sources Root。
image.png

  1. 以下是我直接在src路径下新建的被测试类Factorial,以它为例。

image.png

  1. //Factorial.java
  2. public class Factorial {
  3. public static long fact(long n) {
  4. long r = 1;
  5. for (long i = 1; i <= n; i++) {
  6. r = r * i;
  7. }
  8. return r;
  9. }
  10. }
  1. 创建Junit4的测试代码,鼠标右键点击类名 使用 goto-Test即可实现

image.png

  1. 创建测试,根据自身需要来勾选

image.png

  1. //测试代码 FactorialTest.java
  2. public class FactorialTest {
  3. @Test
  4. public void fact() {
  5. assertEquals(1, Factorial.fact(1));
  6. assertEquals(2, Factorial.fact(2));
  7. assertEquals(6, Factorial.fact(3));
  8. assertEquals(3628800, Factorial.fact(10));
  9. assertEquals(2432902008176640000L, Factorial.fact(20));
  10. }
  11. }
  1. 所有工作已经做完,此时点击运行就可以啦!正常来说会测试成功,运行结果如下:

image.png

此时一个简单的Junit注解使用就算成功了!

最后附上一些常用的概念:
一个测试类中只能声明此注解一次,此注解对应的方法只能被执行一次
@BeforeClass 使用此注解的方法在测试类被调用之前执行
@AfterClass 使用此注解的方法在测试类被调用结束退出之前执行
一个类中有多少个@Test注解方法,以下对应注解方法就被调用多少次
@Before 在每个@Test调用之前执行
@After 在每个@Test调用之后执行
@Test 使用此注解的方法为一个单元测试用例,一个测试类中可多次声明,每个注解为@Test只执行一次
@Ignore 暂不执行的测试用例,会被JUnit4忽略执行