モック ファイル システム関連のツールには次のものが含まれます:
モック fs モジュール ツール mock-fs。
モック要求モジュールツールmock-require。
インストール
mock-fsとmock-requireは両方ともNPMソフトウェアパッケージであり、プロジェクト内のnpmを介して直接インストールできます:
npm install mock-fs mock-require --save
Mock fsモジュール
モックを通じて複数のファイルを作成できます() メソッドのモックはすぐに有効になり、その後の fs の呼び出しはこれらのモック ファイルにアクセスします。 モックをキャンセルして fs を復元するには、mock.restore() を呼び出します。
var fs = require('fs'); var mock = require('mock-fs'); describe('fs', function() { beforeEach(function() { mock({ './CNAME': 'harttle.com', './_config.yml': 'empty' }); }); afterEach(function() { mock.restore(); }); describe('#readFileSync()', function() { it('should read all content', function() { var str = fs.readFileSync('CNAME', 'utf8'); expect(str).to.equal('harttle.com'); }); }); });
Mock require機構
mock-fsの原理は、fsモジュールのファイル読み書き関数を書き換えてMockファイルにリダイレクトすることです。 したがって、requireでは機能しません。 require がモック ファイルを読み取るためには、require メソッドをオーバーライドする必要があります。 Mock-require はこの操作をカプセル化します。
mock メソッドを通じてモックを実行し、mock.stopAll を通じてモックを停止し、require を復元します。
りー