摘要:断言断言是什么模块提供了一组简单的断言测试,可用于测试不变量。环境是他们不必设置大量配置的环境,而是开发人员可以编写代码并从测试中获得即时反馈的地方。每当测试时,结果将出现在您的拉取请求中,您的历史记录将在其控制面板中提供。
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]) //未通过 // 循环在比较数组中的每一个元素 主要就是是使用这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。 现在我们使用 Async/Await。 Async - 定义异步函数(async function someName(){...}) - 自动把函数转换为 Promise - 当调用异步函数时,函数返回值会被 resolve 处理 - 异步函数内部可以使用 await Await - 暂停异步函数的执行 (var result = await someAsyncCall();) - 当使用在 Promise 前面时,await 等待 Promise 完成,并返回 Promise 的结果 - await 只能和 Promise 一起使用,不能和 callback 一起使用 - await 只能用在 async 函数中
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的时候就自动触发 npm test
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/102554.html
摘要:代表公司去参加今年的第二届前端开发者年度大会,散会的时候,技术老大问我,今天感觉怎么样,有什么收获,当时就零零碎碎的回答了一些,不算完美趁着还记得点什么,在这里做个自我回顾总结,谨代表个人见解,有不当之处,或若涉及图片隐私或者其它问题,烦请 代表公司去参加今年的 第二届前端开发者年度大会,散会的时候,Team 技术老大问我,今天感觉怎么样,有什么收获,当时就零零碎碎的回答了一些,不算完...
摘要:只读目的是防止程序意外地修改了它的指令。全局区存放全局变量静态变量和常量除了修饰的局部变量。程序结束时由操作系统释放。由编译器自动分配和释放。注意不要返回局部变量的地址。 ...
摘要:年的深度学习研讨会,压轴大戏是关于深度学习未来的讨论。他认为,有潜力成为深度学习的下一个重点。认为这样的人工智能恐惧和奇点的讨论是一个巨大的牵引。 2015年ICML的深度学习研讨会,压轴大戏是关于深度学习未来的讨论。基于平衡考虑,组织方分别邀请了来自工业界和学术界的六位专家开展这次圆桌讨论。组织者之一Kyunghyun Cho(Bengio的博士后)在飞机上凭记忆写下本文总结了讨论的内容,...
摘要:研究人员和机器学习的作者对于数学和面向数据的人来说,非常容易使用。这对于机器学习和领域的工作是非常重要的。高级脚本语言非常适合人工智能和机器学习,因为我们可以快速移动并重试。 摘要: 为什么Python会在这股深度学习浪潮中成为编程语言的头牌?听听大牛如何解释吧! showImg(https://segmentfault.com/img/bV59KD?w=780&h=405); 1.P...
阅读 2518·2023-04-25 17:33
阅读 623·2021-11-23 09:51
阅读 2932·2021-07-30 15:32
阅读 1371·2019-08-29 18:40
阅读 1881·2019-08-28 18:19
阅读 1443·2019-08-26 13:48
阅读 2216·2019-08-23 16:48
阅读 2261·2019-08-23 15:56