摘要:斷言斷言是什么模塊提供了一組簡單的斷言測試,可用于測試不變量。環(huán)境是他們不必設置大量配置的環(huán)境,而是開發(fā)人員可以編寫代碼并從測試中獲得即時反饋的地方。每當測試時,結果將出現(xiàn)在您的拉取請求中,您的歷史記錄將在其控制面板中提供。
Node assert (斷言)
嚴格模式的引入: const assert = require("assert").strict; 遺留模式的引入: const assert = require("assert")
assert.equa(1,1) // true 通過 assert.equa({a:1},{a:1}) // false 未通過 equal 表示 == strictEqual 表示 === // 所以要注意隱式轉換的問題比如說 assert.equa("1",1) // true 通過 assert.strictEqual("1",1) // false 報錯
assert.deepEqual(["1",2],[1,2]) // 通過 // 嚴格模式下 assert.deepStrictEqual(["1",2],[1,2]) //未通過 // 循環(huán)在比較數(shù)組中的每一個元素 主要就是是使用這2個嚴格模式Mocha 測試框架
npm install --save-dev mocha
編寫測試
module.exports = function (a,b) { return a+b; };
const assert = require("assert"); const add = require("../add.js"); describe("#add", () =>{ it("sum(3,5) should return 8", () => { assert.strictEqual(sum(3,5), 8); }) })
describe("#add", () =>{ before(function () { console.log("before:"); }); after(function () { console.log("after."); }); beforeEach(function () { console.log(" beforeEach:"); }); afterEach(function () { console.log(" afterEach."); }); it("sum(3,5) should return 8", () => { assert.strictEqual(sum(3,5), 8); }) }) 可以看一下這個生命周期,了解一下.
異步測試
我理解的 async 以前我們使用 callback。 后來我們使用 Promise。 現(xiàn)在我們使用 Async/Await。 Async - 定義異步函數(shù)(async function someName(){...}) - 自動把函數(shù)轉換為 Promise - 當調用異步函數(shù)時,函數(shù)返回值會被 resolve 處理 - 異步函數(shù)內部可以使用 await Await - 暫停異步函數(shù)的執(zhí)行 (var result = await someAsyncCall();) - 當使用在 Promise 前面時,await 等待 Promise 完成,并返回 Promise 的結果 - await 只能和 Promise 一起使用,不能和 callback 一起使用 - await 只能用在 async 函數(shù)中
module.exports = async ()=>{ let num = await setTimeout(() =>{ return 1 console.log(1) },1000) return num }
const assert = require("assert") const sum = require("../add") describe("#add", () =>{ it("測試異步", async () =>{ let result = await sum() console.log(result) console.log(1) }) }) 運行 npm test 查看結果.
Http測試
暫時還沒寫
karma建議的方法是在項目目錄中本地安裝Karma(以及項目需要的所有插件)。 # Install Karma: $ npm install karma --save-dev # Install plugins that your project needs: $ npm install karma-jasmine karma-chrome-launcher jasmine-core --save-dev
# Run Karma: $ ./node_modules/karma/bin/karma start 官網建議安裝一個全局的 方便命令 npm install -g karma-cli
language: node_js node_js: - 0.4 - 0.6 前端的配置 package.json 里面要配置個命令 "scripts": { "test": "mocha" }, Mocha 已經安裝過全局了
然后push的時候就自動觸發(fā) npm test
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/102554.html
摘要:代表公司去參加今年的第二屆前端開發(fā)者年度大會,散會的時候,技術老大問我,今天感覺怎么樣,有什么收獲,當時就零零碎碎的回答了一些,不算完美趁著還記得點什么,在這里做個自我回顧總結,謹代表個人見解,有不當之處,或若涉及圖片隱私或者其它問題,煩請 代表公司去參加今年的 第二屆前端開發(fā)者年度大會,散會的時候,Team 技術老大問我,今天感覺怎么樣,有什么收獲,當時就零零碎碎的回答了一些,不算完...
摘要:只讀目的是防止程序意外地修改了它的指令。全局區(qū)存放全局變量靜態(tài)變量和常量除了修飾的局部變量。程序結束時由操作系統(tǒng)釋放。由編譯器自動分配和釋放。注意不要返回局部變量的地址。 ...
摘要:年的深度學習研討會,壓軸大戲是關于深度學習未來的討論。他認為,有潛力成為深度學習的下一個重點。認為這樣的人工智能恐懼和奇點的討論是一個巨大的牽引。 2015年ICML的深度學習研討會,壓軸大戲是關于深度學習未來的討論。基于平衡考慮,組織方分別邀請了來自工業(yè)界和學術界的六位專家開展這次圓桌討論。組織者之一Kyunghyun Cho(Bengio的博士后)在飛機上憑記憶寫下本文總結了討論的內容,...
摘要:研究人員和機器學習的作者對于數(shù)學和面向數(shù)據(jù)的人來說,非常容易使用。這對于機器學習和領域的工作是非常重要的。高級腳本語言非常適合人工智能和機器學習,因為我們可以快速移動并重試。 摘要: 為什么Python會在這股深度學習浪潮中成為編程語言的頭牌?聽聽大牛如何解釋吧! showImg(https://segmentfault.com/img/bV59KD?w=780&h=405); 1.P...
閱讀 2678·2023-04-25 17:33
閱讀 715·2021-11-23 09:51
閱讀 3033·2021-07-30 15:32
閱讀 1492·2019-08-29 18:40
閱讀 2023·2019-08-28 18:19
閱讀 1526·2019-08-26 13:48
閱讀 2311·2019-08-23 16:48
閱讀 2354·2019-08-23 15:56