如何在JEST中测试DOM操作

log*_*han 8 jestjs babel-jest

我正在尝试测试ES6函数,该函数在执行时更新dom元素.目前我正在获取空节点列表,因为未加载HTML页面.用JEST纯粹测试这个的方法是什么?

jest.dontMock('../scripts/taskModel');
import Request from '../__mocks__/request';
import Task from '../scripts/taskModel';

describe('taskModel', () => {
    it('Should initialize with no friends items', function() {
        expect(document.querySelectorAll('.panel-block').length).toBe(1); // THIS IS ALWAYS RETURNS EMPTY NODELIST
        var task = new Task();
        task.index();
        expect(document.querySelectorAll('.panel-block').length).toBeGreaterThanOrEqual(6); // THIS IS ALWAYS RETURNS EMPTY NODELIST
    });
});
Run Code Online (Sandbox Code Playgroud)

gun*_*nnx 9

您应该注入代码所需的标记

document.body.innerHTML = '<div id="test"><div class="panel-block"></div>....</div>'
Run Code Online (Sandbox Code Playgroud)