当doreturn的行为 - 当用嘲笑的与间谍对象持续的时候



当使用 Spied 对象作为测试主题时,如果我们不想在我们正在测试的方法中调用嵌套方法,则其中哪个(Doreturn--何时或何时全含量(可以用于模拟这些嵌套方法?是否有一种方法可以避免我们要测试的方法中的真实方法?

实际上,当您使用doreturn或当thenreturn方法用于此特定情况时并不重要,因为考虑使用@Spy,您将始终调用真实方法。

您可以通过嘲笑其他方法避免输入其他方法,但是如果您仅使用Mockito,那将是一个问题(它没有这种方法,但是PowerMock确实可以(。尤其是我不同意这种方法,因为我们在测试中过于侵入,私人流程是整体流程的一部分,但是您可以做这样的事情:

SomeService mock = spy(SomeService.class);
doReturn(1).when(mock, "getNumber", ArgumentMatchers.anyInt());

有关更多详细信息,您可以验证PowerMock的官方文档。此外,很高兴知道一些基本的单元测试概念(存根,模拟等(。

最新更新