共計(jì) 794 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
在使用 Mockito 模擬方法拋出異常時(shí),可以使用 Mockito 的 doThrow()
方法來模擬方法拋出異常。下面是一個(gè)簡(jiǎn)單的示例:
假設(shè)有一個(gè) UserService 類,其中有一個(gè)方法 getUserById(),當(dāng)傳入的 id 為 null 時(shí)會(huì)拋出 NullPointerException 異常:
public class UserService {public User getUserById(String id) {if (id == null) {throw new NullPointerException("id cannot be null");
}
// 其他邏輯
}
}
現(xiàn)在我們想要使用 Mockito 來模擬 getUserById()方法拋出異常,可以這樣做:
import static org.mockito.Mockito.*;
public class UserServiceTest {@Test
public void testGetUserById() {UserService userService = mock(UserService.class);
// 模擬方法拋出異常
doThrow(new NullPointerException("id cannot be null"))
.when(userService)
.getUserById(isNull());
// 調(diào)用被測(cè)試方法
User result = userService.getUserById(null);
// 斷言拋出異常
assertNotNull(result);
}
}
在上面的示例中,我們使用 doThrow()
方法模擬了 getUserById()方法在傳入 null 時(shí)拋出 NullPointerException 異常。然后我們調(diào)用被測(cè)試方法并斷言是否拋出了異常。
通過這種方法,我們可以很方便地使用 Mockito 來模擬方法拋出異常,從而進(jìn)行異常處理的單元測(cè)試。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Java
2024-03-19