时间:2021-11-25 这几天项目来了,白天工作晚上就挺无聊的,每天都是半夜两三点了一点睡意没有,要熬到天亮了才困,再睡三个小时去上班,半夜打游戏,刷剧,做饭,能干的都干了,略感无聊,干多了就很没意思,想着这份前端工作也做几个月了,就想着学点测试和后端的内容
单元测试
Mocha 和 Chai 是两个通常一起用于单元测试的 JavaScript 框架。
可以测试方法的返回数据是否为期望
主要关键字为
describe - 方法名
It - 期望返回值
具体用法:
function getContentType(filename) {const extension = filename.match(/.*\.([^\.]*)$/)[1];switch (extension) {case 'html':return 'text/html'case 'css':return 'text/css'case 'jpeg':return 'image/jpeg'case 'jpg':return 'image/jpeg'default:return 'text/plain'}}
var fs = require('fs');var vm = require('vm');var path = 'js/request-logic.js';var code = fs.readFileSync(path);vm.runInThisContext(code);var should = require('chai').should();describe('getContentType()', function() {it('a function called getContentType should exist', function() {should.equal(typeof getContentType, 'function');});it('should return "text/html" for filenames ending in .html', function() {should.equal(getContentType('index.html'), 'text/html');});it('should return "text/css" for filenames ending in .css', function() {should.equal(getContentType('style.css'), 'text/css');});it('should return "image/jpeg" for filenames ending in .jpeg', function() {should.equal(getContentType('image.jpeg'), 'image/jpeg');});it('should return "image/jpeg" for filenames ending in .jpg', function() {should.equal(getContentType('image.jpg'), 'image/jpeg');});it('should return "text/plain" for all other file extensions', function() {should.equal(getContentType('image.unknown'), 'text/plain');});});

