如何在mockitoscala测试用例中使用thencallreal方法来测试trait方法?

wtzytmuj  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(325)

我有一个特点,在它实现的功能。我想模仿特质的方法,作为一种方法,我想使用 thenCallRealMethod . 我在scala中使用mockito框架。但是当我尝试使用 thenCallRealMethod 对于一个方法,我得到以下错误:
无法对java对象调用抽象实方法!只有在模拟非抽象方法时才可能调用实方法//正确示例:when(mockofconcreteclass.nonabstractmethod()).thencallrealmethod();org.mockito.exceptions.base.mockitoexception(例外):
这是我的密码:

trait X{
  def solve() : String = "solve"
  def solve2() : String = "solve2"
}
class XTest extends FlatSpec with Matchers with MockitoSugar{
    "test" can "test methods in trait" in{
          val mockedX = mock[X]
          when(mockedX.solve()) thenCallRealMethod()//this line throws the error
    }
}

此代码抛出错误。一种方法是使用一个可以扩展trait的类,但我不想扩展trait并寻找另一种方法。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题