У меня возникла проблема при издевании над методом, который вызывается в другом методе.
Например: ниже в моем основном классе.
class Trial extends TrialTrait {
def run(): String ={
val a = createA()
val b = a.split(" ")
val c = b.size
val d = c + " words are there"
d
}
def createA(): String = {
var a = "above all the things that have been done, one thing remained in silent above all the things that have been done one thing remained in silent above all the that "
a
}
}
Ниже приведен мой макет кода.
class TryMock4 extends FunSuite with BeforeAndAfterEach with MockFactory {
val trial = new Trial
val st = stub[TrialTrait]
test("Mocking the DataFrame") {
val input = "above all the things that have been done, one thing remained in silent above "
(st.createA _).when().returns(input)
val expected = "14 words are there"
val actual = st.run()
Assert.assertEquals(expected,actual)
}
}
Я пытаюсь передать ложные данные в createA
и использовать их в методе run
.
Но оно дает значение null
после запуска метода run
.
Не могли бы вы подсказать, как этого можно достичь?