jsonfileをオブジェクトに読み込む関数の単体テストを作成しようとしています。私はユニットテストのためにnode:コールバック引数を持つ関数を模倣する
jsonfile.readFile(filename, function (err, obj) {
//...
});
でファイルを読んで、私は実際にファイルを読み込むのではなく、それは単に固定されたJSONブロックを返却し、コールバックにそれを渡します、ように、この機能をモックとしたいです。
私が問題を抱えているのは、その機能を模擬する方法です。私はsinonを見てきました。これは、モック関数をサポートしていますが、実際に私が嘲笑している関数のカスタム動作を定義する方法を見つけることはできません。 Sinonは、関数が返すもの、呼び出される頻度などを定義することができますが、実際には擬似関数を定義することはできません。私はsinonでこれを行うにはどうすればよい
mock(jsonfile, 'readFile', function(filename, callback) {
callback(null, {attr1:"foo"});
});
:
基本的に、私はこのような何かをしたいですか?
それは私がやろうとしていることではありません。私は私のテストケースで定義した無名関数を呼び出す 'readFile'関数を模倣しようとしています(これは将来私が他の多くの関数で行うことですが、これは単なる例です)。 – ewok