#scala #unit-testing #mocking #scalamock
Вопрос:
Мое приложение использует Scala 2.13 и ScalaMock 5.1. Можно ли издеваться над bar
методом в такой черте, как эта?
trait Foo {
def bar(f: Double): Double
def bar(i: Int)(f: => Double): Double
}
Следующая попытка не компилируется. Ошибка компилятора заключается в следующем: _ must follow method; cannot follow Double
val mockFoo = mock[Foo]
(mockFoo.bar(_: Int)(_: Double) _).expects(1, 1.0).returns(2.0)
Эта попытка также не компилируется. Ошибка компилятора заключается в следующем: type mismatch; found: () => Double, required: Double
val mockFoo = mock[Foo]
(mockFoo.bar(_: Int)(_: () => Double) _).expects(1, 1.0).returns(2.0)
Эта попытка не компилируется. Он возвращает ту же ошибку, что и при предыдущей попытке.
val mockFoo = mock[Foo]
(mockFoo.bar(_: Int)(_: () => Double)).expects(1, 1.0).returns(2.0)
И эта попытка также не удается скомпилировать. На этот раз ошибка заключается в Unable to resolve overloaded method bar
val mockFoo = mock[Foo]
(mockFoo.bar(_: Int)(_: Double)).expects(1, 1.0).returns(2.0)