gpt4 book ai didi

java - 在单元测试中模拟/ stub RuntimeException

转载 作者:行者123 更新时间:2023-11-30 06:11:10 25 4
gpt4 key购买 nike

School 类中,我有一个 start() 函数调用另一个函数 doTask():

pubic class School {
public void start() {
try {
doTask();
} catch(RuntimeException e) {
handleException();
}
}
private void doTask() {
//Code which might throw RuntimeException
}
}

我想使用 RuntimeExceptionstart() 进行单元测试:

@Test
public void testStartWithException() {
// How can I mock/stub mySchool.start() to throw RuntimeException?
mySchool.start();
}

我的实现代码抛出 RuntimeException 并不容易,我如何让测试代码模拟 RuntimeException 并抛出它?

(除了纯 JUnit,我正在考虑使用 Mockito,但不确定如何抛出 RuntimeException)

最佳答案

@Test
public void testStartWithException() {
// How can I mock/stub mySchool.start() to throw RuntimeException?
when(mySchool.start()).thenThrow(new RuntimeException("runtime exception"));
}

您可以使用 whenthenThrow 来抛出异常。

关于java - 在单元测试中模拟/ stub RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544334/

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