时间: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');
});
});