gpt4 book ai didi

java - 是否可以使用 Mockito 进行严格的模拟?

转载 作者:太空狗 更新时间:2023-10-29 22:51:33 25 4
gpt4 key购买 nike

我想使用严格的模拟,至少在第一次开发一些针对旧代码的测试时,所以如果我没有明确定义期望,任何在我的模拟上调用的方法都会抛出异常。

据我所知,如果我没有定义任何期望,Mockito 将只返回 null,稍后会在其他地方导致 NullPointerException。

这有可能吗?如果是,如何?

最佳答案

你想让它做什么?

你可以设置为RETURN_SMART_NULLS ,它避免了 NPE 并包含一些有用的信息。

您可以将其替换为自定义实现,例如,从其 answer 方法中抛出异常:

@Test
public void test() {
Object mock = Mockito.mock(Object.class, new NullPointerExceptionAnswer());
String s = mock.toString(); // Breaks here, as intended.
assertEquals("", s);
}

class NullPointerExceptionAnswer<T> implements Answer<T> {
@Override
public T answer(InvocationOnMock invocation) throws Throwable {
throw new NullPointerException();
}
}

关于java - 是否可以使用 Mockito 进行严格的模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003278/

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