実際の関数呼び出しの中で疑似関数を使用することはできますか?どちらの関数も同じオブジェクトにあります。したがって、たとえば、私は実際の関数呼び出しで模擬関数の戻り値を使用する
obj A {
def mockThis(value: Int): Int = {
value*5
}
def realFuncIWantToTest(value: Int): Int = {
val v = mockThis(value)
v
}
}
を持っている場合、明らかにこれは非常に単純なケースであり、これは(vは実際には複雑なオブジェクトである)私のコードが何をしているのかではありません。基本的には、realFuncIWantToTestが私が定義した擬似関数の戻り値を使用するようにします。
ありがとうございます!
最後に、私はデザインを変更し、自分のコードをリファクタリングすることにしました。 'mockThis()'を依存性インジェクションで挿入した別のオブジェクトの呼び出しとする提案は、まさに私がやったことです。しばらく時間をとったが、最終的にはそれがもっときれいになり、読めるようになった。助けてくれてありがとう! – learningboy
あなたはとても歓迎されています。 – GhostCat