Я хотел бы издеваться над признаком черты. например, в этом коде, чтобы дразнить Вэл baz
:Издевательство над чертой с scala-mock
trait Foo {
def bar(): Int
val baz: Int
}
val fooMock = mock[Foo]
(fooMock.bar _).expects().returning(5)
(fooMock.baz _).expects().returning(6) //doesn't compile
doSomeThing(fooMock)
Чтобы решить эту проблему в моем тесте, я Увеличенная Foo и осуществляется baz
следующим образом:
trait FooTest extends Foo {
override val baz: Int = 5
}
val fooMock = mock[FooTest]
(fooMock.bar _).expects().returning(6)
doSomeThing(fooMock)
Но это является уродливым, и я надеялся, что существует более стандартный способ сделать это с помощью scala mock.
Я видел ответ на этот question, но это требует изменения val
к def
в черте, и я хотел бы сохранить baz
на Вал
я не был осведомлен о прокси издевается. В тестовом файле приведены хорошие примеры, но есть ли какие-либо документы об этом? – lev
Извинения, но документация для прокси-макетов (как вы видели) тонкая на земле. Хорошо, что они намного проще, чем макробные макеты, поэтому в примерах в тестовом файле есть «это» :-) –