Junit断言

什么是断言

断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。

使用断言可以创建更稳定、品质更好且 不易于出错的代码。当需要在一个值为 false 时中断当前操作的话,可以使用断言。单元测试必须使用断言(Junit/JunitX)。

常用的断言方法

断言描述
void assertEquals([String message],
expected value, actual value)
断言两个值相等。值可能是类型有 int, short, long, byte,
char or java.lang.Object. 第一个参数是一个可选的字符串消息
void assertTrue([String message],
boolean condition)
断言一个条件为真
void assertFalse([String message],
boolean condition)
断言一个条件为假
void assertNotNull([String message],
java.lang.Object object)
断言一个对象不为空(null)
void assertNull([String message],
java.lang.Object object)
断言一个对象为空(null)
void assertSame([String message],
java.lang.Object expected,
java.lang.Object actual)
void assertSame([String message], java.lang.Object expected, java.lang.Object actual)
void assertNotSame([String message], java.lang.Object unexpected, java.lang.Object actual)断言,两个对象不是引用同一个对象
void assertArrayEquals([String message], expectedArray, resultArray)断言预期数组和结果数组相等。数组的类型可能是 int, long, short, char, byte or java.lang.Object.

测试断言效果

在之前的单元测试类中创建一个名为 testAssert 方法来查看断言效果

/**
 * 测试断言
 */
@Test
public void testAssert() {
    String obj1 = "junit";
    String obj2 = "junit";
    String obj3 = "test";
    String obj4 = "test";
    String obj5 = null;
    int var1 = 1;
    int var2 = 2;
    int[] arithmetic1 = {1, 2, 3};
    int[] arithmetic2 = {1, 2, 3};

    assertEquals(obj1, obj2);

    assertSame(obj3, obj4);

    assertNotSame(obj2, obj4);

    assertNotNull(obj1);

    assertNull(obj5);

    assertTrue("为真", var1 == var2);

    assertArrayEquals(arithmetic1, arithmetic2);
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个简单的Java程序和至少四个JUnit断言进行测试的示例: ```java public class Calculator { public int add(int a, int b) { return a + b; } public int subtract(int a, int b) { return a - b; } public int multiply(int a, int b) { return a * b; } public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("Cannot divide by zero!"); } return a / b; } } ``` 上面这个程序是一个简单的计算器类,其中包含了加、减、乘、除四个基本运算方法。下面是对这个类进行JUnit测试的代码: ```java import org.junit.Test; import static org.junit.Assert.*; public class CalculatorTest { @Test public void testAdd() { Calculator calculator = new Calculator(); int result = calculator.add(2, 3); assertEquals(5, result); } @Test public void testSubtract() { Calculator calculator = new Calculator(); int result = calculator.subtract(5, 3); assertEquals(2, result); } @Test public void testMultiply() { Calculator calculator = new Calculator(); int result = calculator.multiply(2, 3); assertEquals(6, result); } @Test public void testDivide() { Calculator calculator = new Calculator(); int result = calculator.divide(6, 3); assertEquals(2, result); try { calculator.divide(6, 0); fail("Expected an IllegalArgumentException to be thrown"); } catch (IllegalArgumentException e) { assertEquals("Cannot divide by zero!", e.getMessage()); } } } ``` 上面的代码包含了四个测试方法,分别测试了加、减、乘、除四个方法的正确性。其中,使用了四个断言方法: * `assertEquals(expected, actual)`:验证两个数值是否相等; * `fail(message)`:用于在测试未通过时抛出异常; * `try-catch` 语句:用于捕获异常并验证异常信息是否正确。 这些断言方法可以帮助我们快速、准确地判断程序的正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真香号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值