gpt4 book ai didi

java - DoReturn 抛出 UnfinishedStubbingException

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:08 27 4
gpt4 key购买 nike

好吧,我显然不太明白 doReturn(...).when(...) 和 when(...).thenReturn(...) 之间的区别。

问题是,当我上课时,我用 @Mock 注释模拟,并在我想测试的类中用 @InjectMocks 注入(inject)它们,然后我在这些模拟之一上使用 doReturn,我得到一个 UnfinishedStubbingException。但是当我使用 when(...).thenReturn(...) 时,一切似乎都很好。我认为更建议使用 doReturn,因为它并没有真正调用该方法(我猜 when(...).thenReturn(...) 不会,因为该字段是 Mock。)

举个例子:

doReturn(siteModel).when(siteService.getCurrentSite()) --> UnfinishedStubbingException

when(siteService.getCurrentSite()).thenReturn(siteModel) --> Works just fine

最佳答案

正确的调用是:

doReturn(...).when(whatever).theMethod()

而不是 .when(whatever.theMethod())

关于java - DoReturn 抛出 UnfinishedStubbingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33540514/

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