gpt4 book ai didi

java - 如何在 JUnit5 中测试引发异常?

转载 作者:行者123 更新时间:2023-12-01 14:09:17 26 4
gpt4 key购买 nike

我想使用 JUnit5 测试异常是否正常工作。

例如,假设我测试队列。

public class ArrayCircleQueue {
.
.
.
public void enQueue(char item) {
if (isFull()) {
throw new IndexOutOfBoundsException("Queue is full now!");
} else {
itemArray[rear++] = item;
}
}
}

测试类

class ArrayCircleQueueTest {
.
.
.
@org.junit.jupiter.api.Test
void testEnQueueOverflow() {
for (int i=0; i<100; i++) {
queue.enQueue('c'); # test for 10-size queue. It should catch exception
}
}
}

我在谷歌搜索,但只有 JUnit4 的答案:@Test(expected=NoPermissionException.class)

但它不适用于 JUnit5

我该如何处理?

最佳答案

@Test
void exceptionTesting() {
Throwable exception = assertThrows(IllegalArgumentException.class, () -> {
arrayCircleQueue.enQueue('a') ;
});
assertEquals("Queue is full now!", exception.getMessage());
}

或者你也可以试试。

关于java - 如何在 JUnit5 中测试引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43116007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com