用IDEA进行Junit单元测试
程序员文章站
2022-07-14 10:41:52
...
操作步骤
- IDEA建一个Maven工程
- 添加Junit依赖
- 编写简单类
- 生成测试类
- 查看测试结果
添加Junit依赖
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
本例用Junit 5进行单元测试
简单类
public class Student {
/**
* id : 20171004024
* name : Vigilr
* Java : 99.0
* Python : 98.0
* JavaScript : 97.0
*/
private long id;
private String name;
private double Java;
private double Python;
private double JavaScript;
public Student() {
this.id=123456789;
this.name="张三";
this.Java=60.0;
this.Python=60.1;
this.JavaScript=59.9;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("Student{");
sb.append("id=").append(id);
sb.append(", name='").append(name).append('\'');
sb.append(", Java=").append(Java);
sb.append(", Python=").append(Python);
sb.append(", JavaScript=").append(JavaScript);
sb.append('}');
return sb.toString();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getJava() {
return Java;
}
public void setJava(double Java) {
this.Java = Java;
}
public double getPython() {
return Python;
}
public void setPython(double Python) {
this.Python = Python;
}
public double getJavaScript() {
return JavaScript;
}
public void setJavaScript(double JavaScript) {
this.JavaScript = JavaScript;
}
/**
* 计算学生成绩总分
*
* @return double
* @since 2020/4/22
*/
public double sum() {
return this.Java + this.Python + this.JavaScript;
}
}
本类通过
GsonFormat
直接生成setter,getter方法,然后编写构造方法和计算总成绩方法。
测试类
快捷键Ctrl+Shift+T创建测试类
class StudentTest {
Student stu = null;
@BeforeEach
void setUp() {
stu = new Student();
System.out.println("开始单元测试");
}
@AfterEach
void tearDown() {
System.out.println("结束单元测试");
}
@Test
void getId() {
System.out.println("getId():" + stu.getId() + ",测试成功");
}
@Test
void setId() {
stu.setId(654321);
assertEquals( 654321,stu.getId(),"setId()方法异常");
System.out.println("setId()测试成功");
}
@Test
void getName() {
System.out.println("getName():" + stu.getName() + ",测试成功");
}
@Test
void setName() {
stu.setName("李四");
assertEquals(stu.getName(), "李四");
System.out.println("setName()测试成功");
}
@Test
void getJava() {
System.out.println("Java成绩为"+stu.getJava()+",测试成功");
}
@Test
void setJava() {
stu.setJava(99.9);
assertEquals(99.9,stu.getJava(),"setJava()方法异常");
System.out.println("setJava()测试成功");
}
@Test
void sum() {
assertEquals( 180,stu.sum(),"sum()方法异常");
System.out.println(stu);
System.out.println("张三总分为180,sum()测试成功");
}
}
测试结果
测试成功的结果:
测试失败的结果:
Junit 5总结
注解
@BeforeAll
只执行一次,在所有测试和 @BeforeEach 注解方法之前。
@BeforeEach
在每个单元测试执行之前执行。
@Test
进行单元测试
@AfterEach
在每个单元测试执行之后执行。
@AfterAll
只执行一次,最后执行
断言
基本用法:assertEquals(预期结果,实际测试结果,报错信息)
上一篇: idea使用docker插件
下一篇: idea注释模板设置