Jest对Dom节点操作测试?:
目录结构:
|--demo.js
|--demo.test.js
|--jest.config.js
|--package-lock.json
|--package.json
demo.js
import $ from 'jquery';
const addDivToBody = () => {
$('body').append('<div/>')
};
export default addDivToBody;
demo.test.js
import addDivToBody from './demo';
import $ from 'jquery';
test('测试 addDivToBody', () => {
addDivToBody();
addDivToBody();
expect($('body').find('div').length).toBe(2);
console.log($('body').find('div').length);
})
首先: 安装jquery, 执行 npm i jquery ,并引入.
其次: 写测试用例时,可以追溯dom节点的个数,来进行测试.
注: 上方使用jquery创建dom是在node环境下运行的,node 是不具备 dom的。之所以能够操作dom,是因为 jest 在 node 环境下自己模拟了一套dom的api, 叫做jsDom。