Node.jsテストにおけるMockファイルシステムの詳細説明

高洛峰
リリース: 2016-12-06 13:21:21
オリジナル
1550 人が閲覧しました

モック ファイル システム関連のツールには次のものが含まれます:

モック fs モジュール ツール mock-fs。

モック要求モジュールツールmock-require。

インストール

mock-fsとmo​​ck-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 を復元します。

りー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!