你好啊,我是大阳。
本文我们将讨论JUnit5的断言功能。
JUnit 5 断言是使用测试的实际结果验证预期结果。所有JUnit Jupiter 断言都是org.junit.jupiter.Assertions类中的静态方法,方便使用。
有异常的断言将抛出一个AssertionFailedError或它的一个子类。
1 assertEquals() 和 assertNotEquals()
Assertions.assertEquals()用于断言期望值和实际值相等。Assertions.assertEquals()有许多针对不同数据类型的重载方法,例如 int、short、float、char 等。它还支持在测试失败时传递要打印的错误消息。例如:
public static void assertEquals(int expected, int actual)
public static void assertEquals(int expected, int actual, String message)
public static void assertEquals(int expected, int actual, Supplier<String> messageSupplier)
示例:
package cn.dayangshuo.junit5.tests;
import cn.dayangshuo.junit5.Calculator;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.util.function.Supplier;
/**
* @author DAYANG
*/
public class CalculatorTests {
@Test
@DisplayName("a + b = c")
void addsTwoNumbers() {
//测试通过
Assertions.assertEquals(4, Calculator.add(2, 2));
//测试失败
Assertions.assertEquals(3, Calculator.add(2, 2), "Calculator.add(2, 2) 测试失败");
//测试失败
Supplier<String> messageSupplier = () -> "Calculator.add(2, 2) 测试失败";
Assertions.assertEquals(3, Calculator.add(2, 2), messageSupplier);
}
}
相反,Assertions.assertNotEquals()方法用于断言期望值和实际值不相等。与