1.Junit是什么
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。(百度百科)
2.引入项目的方式
有两种方式引入junit测试需要的包,可以直接到官网 http:// 下载,但是个人建议直接到 github
上面搜 junit
,发现现在已经有 junit5
这个新版本了,我在这里只放上 junit 4
的 github
的地址自行上 GitHub 上查找。下图中有两种方式,可以直接点击下载(有点慢),然后导入这两个包(junit.jar
,hamcrest-core,jar
),也可以通过Maven来倒入依赖。
Maven:
junitjunit4.12test
3.使用idea已经配置好Maven环境,
- New --> Project --> (搜索)Maven
点击next
往 pom.xml
文件写入 junit
里面写入依赖:
创建一个Student.class
public class Student {
private String name;
private int age;
Student(){
}
Student(String name,int age){
=name;
this.age=age;
}
public void walk(){
System.out.println(name+"正在走路");
}
public String getName() {
return name;
}
public void setName(String 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====================");
}}
运行的结果如下:
由结果我们可以看出@Test
注解的方法是测试的方法,@Before
注解的方法是执行@Test
注解方法之前执行的,那么@After
就是执行测试方法之后执行的,方法名字不做要求,只要加上对应的注解即可。
4.不使用Maven,直接导包(Eclipse)
代码结构如下:
- 1.首先新建项目,把我们上面的两个类代码写好,可能包名不一样,自己改一下引入包名。
- 2.把下载的两个jar包copy到lib目录,如果没有就新建一个lib目录
- 3.选中两个jar包,右键–>Build Path–>Add to Path就可以了
- 4.运行时直接选中有
@Test
注解的方法名,右键–>run–>run as Junit 即可,结果和我们在IDEA里面一致,就不贴图了。
5.为什么我们需要写JUnit测试
- 对于不同的人可能有不一样的看法,但是我个人觉得,这如果在开发中可能会拖慢效率,但是如果不写UT(测试),那么我们很难保证代码的正确性。
- main 方法是一个程序的入口,对于没有main方法,程序就无法运行,但是Junit可以做到切入一个点,只执行一部分代码,保证一部分代码的正确性。