我想测试异常是否运行良好JUnit5.
例如,假设我测试队列.
public class ArrayCircleQueue {
.
.
.
public void enQueue(char item) {
if (isFull()) {
throw new IndexOutOfBoundsException("Queue is full now!");
} else {
itemArray[rear++] = item;
}
}
}
Run Code Online (Sandbox Code Playgroud)
识别TestClass
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
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在谷歌搜索它,但只有答案JUnit4:
@Test(expected=NoPermissionException.class)
但它不起作用JUnit5.
我怎么处理它?
小智 7
@Test
void exceptionTesting() {
Throwable exception = assertThrows(IllegalArgumentException.class, () -> {
arrayCircleQueue.enQueue('a') ;
});
assertEquals("Queue is full now!", exception.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
或者你可以尝试一下.
| 归档时间: |
|
| 查看次数: |
1235 次 |
| 最近记录: |