Scala Mock Создание объектов - PullRequest
       9

Scala Mock Создание объектов

0 голосов
/ 15 января 2012

Есть ли способ создать объект заданного типа, который переопределяет подмножество методов и выбрасывает исключения времени выполнения для остальных методов?

Ему даже не нужно иметь доступ к какой-либо реализации суперкласса. Он просто должен иметь один и тот же тип во время компиляции и во время выполнения.

Ответы [ 2 ]

6 голосов
/ 15 января 2012

Это в значительной степени то, что фиктивный объект ScalaMock делает «из коробки» - методы, на которые вы устанавливаете ожидания, делают то, что им говорят, все остальные выдают ExpectationException.

Какой у вас сценарий использования?

3 голосов
/ 15 января 2012

Как сказал Пол, 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 и он будет выдавать ошибки, когда вы вызываете неправильные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...