Я пытаюсь протестировать класс Cls
с двумя функциями: A
и B
. A
загружает вызовы DataFrame
и B
A
, затем выполняет некоторые операции и возвращает новый DataFrame
. Для примера:
class Cls {
def A(dummy: Int): Int = 5
def B(): Int = A(7) + 1
}
С Scalamock
как написать мой тестовый код?
Я пытался:
test("test case") {
val f = stub[Cls]
f.A _ when 7 returns 5
assert(f.B() == 6)
}
Я ожидаю, что тест пройден успешно, и я получаю 0 did not equal 6 (mytestcase.scala:24)
(я понимаю, что этот метод scamamock заменил все существующие функции на mock, однако это не является обязательным поведением)
Edit:
Я нашел этот ответ , который ссылается на эту концепцию в mockito, но я не уверен, поддерживает ли scalamock этот вид насмешки и почему он не рекомендуется.