在junit mockito测试中看不懂willThrow、doThrow的逻辑
I couldn't understand the logic of willThrow, doThrow in junit mockito testing
我有这段简单的代码,但无法理解它的逻辑和含义。
void findByIdThrows(){
given(addressRepository.findById(1)).willThrow(new RuntimeException("boom iii"));
assertThrows(RuntimeException.class, () -> servic.findById(1));
then(addressRepository).should().findById(1);
}
这是否意味着:如果您在查找 ID 为 #1 的地址期间遇到 RuntimeException,那么断言我将给出 RuntimeException?
最后一行 (then...) 到底做了什么?
第 1 行:
定义调用addressRepository.findById(1)
将抛出RuntimeException
第 2 行:
检查 servic.findById(1)
是否抛出 RuntimeException
第 3 行:
相当于:
verify(addressRepository).findById(1)
并检查 addressRepository.findById(1)
是否被调用
我有这段简单的代码,但无法理解它的逻辑和含义。
void findByIdThrows(){
given(addressRepository.findById(1)).willThrow(new RuntimeException("boom iii"));
assertThrows(RuntimeException.class, () -> servic.findById(1));
then(addressRepository).should().findById(1);
}
这是否意味着:如果您在查找 ID 为 #1 的地址期间遇到 RuntimeException,那么断言我将给出 RuntimeException?
最后一行 (then...) 到底做了什么?
第 1 行:
定义调用addressRepository.findById(1)
将抛出RuntimeException
第 2 行:
检查 servic.findById(1)
是否抛出 RuntimeException
第 3 行:
相当于:
verify(addressRepository).findById(1)
并检查 addressRepository.findById(1)
是否被调用