Я использую scalatest, и когда я тестирую свой код, я хочу заменить реализацию функции, чтобы она возвращала что-то еще при выполнении тестов.
В JavaScript это действительно просто, и я подумал, что смогу сделатьто же самое в скале.Итак, я хочу что-то вроде этого:
object Module {
private def bar(): Int = {
5
}
def foo(): Unit = {
println(bar())
}
}
И тест будет примерно таким (не обращайте внимания на синтаксис, вы поняли)
class Test extends FunSpec {
mock(Module.bar, () => 1)
describe("Test") {
it("Test") {
Module.foo() // will print 1
}
}
}
Я искалИнтернет и наткнулся на фиктивные библиотеки scala, но ни одна из них, похоже, не смогла заменить реализацию метода.В каждой библиотеке вы должны определить свой макет в тесте и передать его в код, но я не хочу этого делать.
Есть ли способ достичь этого?
Спасибовы.