テスト目的でモックする必要があるデータベースにアクセスする関数がいくつかあります。
使いやすくするために、これらの関数を別の関数内で定義したいと思います。この関数では、スコープを利用して、渡す必要がある引数の数を減らすことができます。
ネストされた関数をモックしながら、親関数をテストする必要があります。
ネストされた関数をモックするトリックはありますか?
二次的な質問として、任意の深さでネストされたときに関数をモックする方法はありますか?
補足: 私のプロジェクトは十分に軽いので、古典的なモッキングを使用することさえありません。しかし、この質問については、どんな種類のあざけりでもかまいません。
非常に単純なコード例を次に示します。
class Storage {
def storeData(specId: Long, data: String): Unit = {
val rawPath = "/path/to/file"
def storeFsEntry: Unit = {
// do stuff
}
def storeDbEntry: Unit = {
// do stuff we need mocked
}
if ( specId == 1 )
{
storeDbEntry
storeFsEntry
}
}
}