IDEA中Maven项目单元测试(JUnit4)记录
具体步骤可能遇到的问题后记
IDEA中Maven项目单元测试(JUnit4)记录 具体步骤工具:idea2021.3版本,maven 4.0.0, javaJDK 11, JUnit4
创建maven项目
初始的项目结构:maven的测试文件夹test默认是在src下面的。
在pom.xml中添加依赖
junit junit 4.12 test junit junit 4.13 compile
全部pom文件内容如下:
4.0.0 org.example wordleapp 1.0-SNAPSHOT 11 11 junit junit 4.12 test junit junit 4.13 compile
然后如果显示JDK不对,请按如下操作。点击右上角的设置(齿轮形状),进入project structure
在modules中的dependencies中选取合适的jdk。这里笔者用的是JDK11.
下面是创建类,然后创建测试类的过程。
在src/main/java下面创建WordleGuess类,如下图所示。然后鼠标放在类名上,使用创建测试类快捷键:ctrl + shift + T
会出现创建测试类的提示
然后按照步骤点击即可:选择测试库(这里是JUnit4),类名(自动生成),其他默认(因为这里类中没有定义方法)即可。
然后我们就可以看到测试文件夹下面 出现了我们要的测试类
具体的使用@TEST注解进行测试,下面贴的代码是另一个demo里面的,但是项目结构是一样的,不妨碍读者理解过程。
左边是项目结果,右侧圈出来的小方框是执行测试的按钮,可以全部执行;也可以按下面的单独的方法的测试,点击对应的按钮即可。
source code :Calculator类
package com.agiledeveloper;
public class Calculator {
public int add(int op1, int op2) {
return op1 + op2;
}
public double divide(double numerator, double denominator) {
if (Math.abs(denominator) < 0.00000001)
throw new ArithmeticException("Division by zero");
return numerator / denominator;
}
}
测试类CalculatorTest
package com.agiledeveloper;
import junit.framework.TestCase;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
private Calculator calculator;
private final double DELTA = 0.001;
@Before
public void setUp() {
calculator = new Calculator();
}
@Test
public void AddTwoPositiveNumberReturnsTheirSum(){
assertEquals(6, calculator.add(2, 4));
}
@Test
public void AddAPositiveAndNegativeNumberReturnsTheirSum() {
assertEquals(3, calculator.add(6, -3));
}
@Test
public void DivideOfTwoPositiveNumbersReturnsThePositiveResult() {
assertEquals(6, calculator.divide(12, 2), DELTA);
}
@Test
public void DivideOfAPositiveNumberByANegativeNumberReturnsNegativeResult() {
assertEquals(-3, calculator.divide(12, -4), DELTA);
}
@Test
public void DivideByZeroThrowsAnException() {
try {
calculator.divide(6, 0);
fail("Expected exception for division by zero");
} catch (ArithmeticException ex) {
assertTrue(true);
}
}
}
测试结果展示:全部测试通过
如果无法创建测试类,请参考笔者的另一篇博文:IDEA2021.3无法创建测试类解决方法
后记把这个过程记录下来,方便自己复盘,如果对读者有些许帮助,也是极好的。



