JUnit测试使用教程

1.Junit是什么

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。(百度百科)

2.引入项目的方式

有两种方式引入junit测试需要的包,可以直接到官网 http://junit.org 下载,但是个人建议直接到 github 上面搜 junit,发现现在已经有 junit5 这个新版本了,我在这里只放上 junit 4github 地址:https://github.com/junit-team/junit4/wiki/Download-and-Install ,junit 5 的地址自行上 GitHub 上查找。下图中有两种方式,可以直接点击下载(有点慢),然后导入这两个包(junit.jar,hamcrest-core,jar),也可以通过Maven来倒入依赖。
JUnit测试使用教程_第1张图片
Maven:

<dependency>
  <groupId>junitgroupId>
  <artifactId>junitartifactId>
  <version>4.12version>
  <scope>testscope>
dependency>

3.使用idea已经配置好Maven环境,如果还没有配置Maven环境需要参考这篇博客配置一下Maven环境配置):

  • New –> Project –> (搜索)Maven

JUnit测试使用教程_第2张图片

这里的GoupId和ArtifactId可以自已填写,表示当前项目的坐标,本地其他应用要是想引用的话也是可以的
JUnit测试使用教程_第3张图片
点击next
JUnit测试使用教程_第4张图片
点击finish之后打开项目项目结构如下:
JUnit测试使用教程_第5张图片
pom.xml 文件写入 junit 里面写入依赖:

JUnit测试使用教程_第6张图片
点击项目右键–>Maven–>reimport,重新更新依赖文件,或者右下角有一个弹窗点击import changes。
代码结构如下:
JUnit测试使用教程_第7张图片
创建一个Student.class

public class Student {
  private String name;
  private int age;
  Student(){

  }
  Student(String name,int age){
    this.name=name;
    this.age=age;
  }
  public void walk(){
    System.out.println(name+"正在走路");
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

创建一个MyTest.class:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;


public class MyTest {

  Student student =  new Student();
  @Before
  public void before() throws Exception {
    System.out.println("==================before==================");
    student.setName("Jame");
  }

  @Test
  public void test() {
      System.out.println(student.getName());
      student.walk();
  }

  @After
  public void after() throws Exception {
    System.out.println("=================after====================");
  }
}

运行的结果如下:
JUnit测试使用教程_第8张图片
由结果我们可以看出@Test注解的方法是测试的方法,@Before注解的方法是执行@Test注解方法之前执行的,那么@After就是执行测试方法之后执行的,方法名字不做要求,只要加上对应的注解即可。

4.不使用Maven,直接导包(Eclipse)

代码结构如下:
JUnit测试使用教程_第9张图片

  • 1.首先新建项目,把我们上面的两个类代码写好,可能包名不一样,自己改一下引入包名。
  • 2.把下载的两个jar包copy到lib目录,如果没有就新建一个lib目录
  • 3.选中两个jar包,右键–>Build Path–>Add to Path就可以了
  • 4.运行时直接选中有@Test注解的方法名,右键–>run–>run as Junit 即可,结果和我们在IDEA里面一致,就不贴图了。

JUnit测试使用教程_第10张图片

5.为什么我们需要写JUnit测试

  • 对于不同的人可能有不一样的看法,但是我个人觉得,这如果在开发中可能会拖慢效率,但是如果不写UT(测试),那么我们很难保证代码的正确性。
  • main 方法是一个程序的入口,对于没有main方法,程序就无法运行,但是Junit可以做到切入一个点,只执行一部分代码,保证一部分代码的正确性。

你可能感兴趣的:(编程基础)