首页 > 解决方案 > Sinon如何存根dom元素'getelementbyid'

问题描述

如何存根 dom 元素,我使用js domand sinon?如何使用 id 存根文档元素。

方法

window.identityServer = (function () {
        const identityServer = {
            getModel () {
                const modelJson = document.getElementById('modelJson')
                const encodedJson = typeof modelJson.textContent !== undefined ? modelJson.textContent : modelJson.innerHTML
            },
        }
        return identityServer
    })()

测试

beforeEach(() => {
        sinon.stub(document, 'getElementById').returns({textContent: 's'})

        sinon.stub(window, 'identityServer')
    })

错误 : TypeError: Cannot read property 'textContent' of null

标签: javascriptunit-testingecmascript-6sinonenzyme

解决方案


加个id怎么样?

sinon.stub(document, "getElementById").withArgs("modelJson").returns({textContent: "s'})

我之前没有 id 存根文档,但错误消息是s.getElementsByTagName is not a function


推荐阅读