好吧,所以我显然不太理解doReturn(...)。when(...)当(...).Thenreturn(...).
doReturn(siteModel).when(siteService.getCurrentSite()) --> UnfinishedStubbingException
when(siteService.getCurrentSite()).thenReturn(siteModel) --> Works just fine
正确的调用是:
doReturn(...).when(whatever).theMethod()
而不是.when(whatever.themethod())
。
我目前正在使用Mockito在一个spring MVC应用程序中模拟我的服务层对象,我想在其中测试我的控制器方法。但是,由于我一直在阅读Mockito的细节,我发现方法等同于。所以,我的问题是,有两个方法做同样的事情有什么意义,或者和之间有什么微妙的区别? 如有任何帮助,我们将不胜感激。
请有人帮助我在上面,也提供我的解决上述问题。
问题内容: 我目前正在使用在应用程序中模拟我的服务层对象的过程中,我想在其中测试我的方法。但是,当我阅读Mockito的细节时,我发现这些方法等效于。所以,我的问题是什么是有两个方法,做同样的事情或之间有什么细微的区别点和? 任何帮助,将不胜感激。 问题答案: 存根的两种语法大致相同。但是,你始终可以将其用于存根。但是在某些情况下你不能使用。废除无效方法就是这样的一种。其他方法包括与间谍一起使用,
看起来HttpClient及其子类有问题。
当使用间谍对象作为测试对象时,如果我们不想在我们正在测试的方法中调用嵌套方法,这些方法中的哪一个(doReport-time或whing-thenBack)可以用来模拟这些嵌套方法?有没有办法避免在我们将要测试的方法中调用真正的方法?
问题内容: 我只想从mongodb信息中处理对象,但是当我执行此方法时,要使一些对象成为对象,但总是返回该错误java.util.NoSuchElementException。 问题答案: 可能的问题是,您在一个循环中调用了3次方法。您应该调用一次并将其结果存储在变量中,因为它会检索迭代中的下一个元素