現在、.NET を使用して記述されたサーバー側コードの単体テストをいくつか書いていnodejs
ます。
今、カスタムモジュールが他のモジュール、私のもの、またはnodejs
標準ライブラリからのものを使用している状況があり、それらをモックしたかったのです。まず、いくつかの既存のソリューションをグーグルで検索しました。たとえば、https://github.com/thlorenz/proxyquireとhttps://github.com/mfncooper/mockeryを見つけました。
しかし、今日は単純なアプローチを使用して、次のようなことを試みました。moduleUnderTest
var fs = require('fs');
exports.foo = function(){
console.log("===foo===");
fs.read();
}
およびファイルmoduleUnderTestSpec
:
var fs = require('fs');
var moduleUnderTests = require('../server/moduleUnderTests.js');
fs.read = function(){
console.log("===read===");
}
実行すると、次のgrunt jasmine_node
ことがわかります。
===foo===
===read===
したがって、この単純なケースでは、モジュール内の関数の 1 つを別の関数と交換できfs
ます。私のアプローチがうまくいかない状況はありますか?