国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js測試中的Mock文件系統詳解

2019-11-19 18:54:58
字體:
來源:轉載
供稿:網友

Mock文件系統相關的工具包括:

    Mock fs 模塊的工具mock-fs

    Mock require 模塊的工具mock-require 。

安裝

mock-fsmock-require 都是NPM軟件包,在項目中可通過npm直接安裝:

npm install mock-fs mock-require --save

Mock fs 模塊

通過mock()方法可以創建多個文件的Mock并立即生效, 此后對fs的調用都會訪問這些Mock文件。 調用mock.restore()可取消Mock并恢復fs。

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讀取Mock文件,只能重寫require方法。 mock-require便是封裝了該操作。

通過mock方法進行Mock,通過mock.stopAll停止Mock并恢復require

const mock = require('mock-require');describe('parser', function() { beforeEach(function() {  mock('/package.json', {   "name": "sample-module",   "version": "1.0.0",   "view": "htmls/my-html.hbs",   "router": "svr.js"  }); }); afterEach(function() {  mock.stopAll(); });

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 神农架林区| 石屏县| 安庆市| 沁水县| 岳阳县| 上饶县| 巴彦淖尔市| 临西县| 元朗区| 古田县| 罗山县| 多伦县| 石狮市| 新昌县| 措美县| 云林县| 浑源县| 米脂县| 麻栗坡县| 高阳县| 罗源县| 长兴县| 富民县| 内江市| 睢宁县| 阳江市| 清流县| 钟山县| 交口县| 中牟县| 时尚| 张家港市| 正蓝旗| 甘南县| 友谊县| 土默特左旗| 界首市| 微博| 万州区| 文水县| 邵阳市|