【问题标题】:How to expect a property to equal a function that has appropriate name with Chai如何期望属性等于具有适当名称的函数与 Chai
【发布时间】:2015-11-09 15:06:48
【问题描述】:

我正在测试一些浅渲染的 react 元素,我想确保它们具有正确的类型和子级。

但是当我期望虚拟 dom 中的对象类型等于我正在使用的元素名称时,它原来是一个函数。

我如何期待一个函数?

it('should console log this', function(){


    tree = sd.shallowRender(React.createElement(Thing));

    const vdom = tree.getRenderOutput()

    console.log('vdom.props', vdom.type);
    expect(vdom.type).to.equal('Element');
});

AssertionError: expected [Function: Element] to equal 'Element' at Context.<anonymous> (/thing/thing/thing/tests.webpack.js:100318:33 <- webpack:///src/containers/CompanyManagement/thing-test.js:38:26)

【问题讨论】:

    标签: reactjs mocha.js chai


    【解决方案1】:

    所以你要测试函数的名称?那将是expect(vdom.type.name).to.equal('Element');

    【讨论】:

    • vdom.name 未定义
    • 嗯,试试vdom.type.name。当您console.log(vdom) 时,您会得到什么?
    • 啊,我们开始了,vdom.type.name 是成功的。至于当我输入console.log(vdom) 时,它说TypeError: Cannot convert a Symbol value to a string.. 而当我输入JSON.stringify() 时,它说不能转换循环结构。有什么办法吗?
    • 我对@9​​87654326@s 和skin-deep(您似乎正在使用的渲染器)不太熟悉。可能console.log(vdom.toString()) 会起作用,但我不太确定..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    相关资源
    最近更新 更多