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

首頁 > 開發 > JS > 正文

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

2024-05-06 16:32: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(); });

總結

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广饶县| 峨眉山市| 雷山县| 茂名市| 龙里县| 敖汉旗| 武强县| 石屏县| 浮梁县| 茶陵县| 玉门市| 玉山县| 宁波市| 天等县| 远安县| 荣成市| 高淳县| 崇礼县| 万全县| 株洲县| 响水县| 吴桥县| 仙桃市| 九台市| 梁河县| 宁波市| 烟台市| 许昌市| 沙雅县| 友谊县| 炎陵县| 铜陵市| 梅河口市| 项城市| 高唐县| 逊克县| 雅江县| 来安县| 东阿县| 神木县| 嘉义市|