К сожалению, ScalaMock не предоставляет функцию «callRealMethod».
Если возможно изменение структуры тестирования, у вас есть альтернативный способ с mockito- scala и MockitoSugar черта, которая может дать вам то, что вы хотите.
Ваш код будет выглядеть примерно так:
class MySpec extends FunSpec with MockitoSugar with Matchers {
trait MyTrait {
def f1: String = "mock"
def f2: String = "not a mock"
}
describe("my feature") {
it("should work") {
val t = mock[MyTrait]
when(t.f1).thenReturn("mocked")
t.f1 shouldBe "mocked"
when(t.f2) thenCallRealMethod()
t.f2 shouldBe "not a mock"
}
}
Вам необходимо добавить mockito scala в качестве зависимости tho. (sbt way)
"org.mockito" %% "mockito-scala" % "${version}",
"org.mockito" %% "mockito-scala-scalatest" % "${version}"