Как сказал Пол, ScalaMock - хороший путь.
Но я хотел бы отметить, что вы просто описываете базовое наследование:
class OriginalClass {
def methodToRun() = { println("called OriginalClass.methodToRun") }
def methodNotToRun() = { println("called OriginalClass.methodNotToRun") }
}
class MockOriginalClass extends OriginalClass {
override def methodToRun() = super.methodToRun()
override def methodNotToRun() = throw new RuntimeException("you weren't supposed to run this!")
}
Затем в вашем коде, где вы ожидали объект OriginalClass
, вы можете передать вMockOriginalClass
и он будет выдавать ошибки, когда вы вызываете неправильные вещи.