国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊吾县| 南投市| 齐齐哈尔市| 民乐县| 沾益县| 巴塘县| 江都市| 松潘县| 容城县| 宁陵县| 新乐市| 丹阳市| 舟山市| 九江县| 增城市| 开平市| 嘉峪关市| 昌图县| 怀来县| 太仆寺旗| 旺苍县| 南溪县| 滁州市| 四平市| 杭锦后旗| 游戏| 兴海县| 固始县| 噶尔县| 乌兰浩特市| 彩票| 上栗县| 甘孜县| 吉隆县| 永年县| 博客| 遵义县| 义马市| 库尔勒市| 伊通| 青龙|