国产探花免费观看_亚洲丰满少妇自慰呻吟_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(); });

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌宁县| 玉树县| 栾川县| 合肥市| 岗巴县| 西林县| 封丘县| 平塘县| 密云县| 常熟市| 陇川县| 客服| 神池县| 饶河县| 临西县| 且末县| 砀山县| 荣成市| 北票市| 锡林郭勒盟| 乌审旗| 乌拉特中旗| 临洮县| 靖宇县| 兴文县| 平安县| 翼城县| 鹿邑县| 柯坪县| 巩留县| 盐源县| 吐鲁番市| 湖北省| 洱源县| 雷州市| 盱眙县| 武清区| 和林格尔县| 搜索| 东宁县| 吴川市|