如何用chai检查元素类型?

时间:2016-04-14 09:24:28

标签: javascript unit-testing reactjs chai

我想检查一个元素是a还是div,我该如何实现呢? 此代码无效:

it('has no link if required', () => {
        const wrapper = shallow(<AssetOverlay asset={ assetsData[0] } shouldBeLinked />);
        expect(wrapper.find('.overlay-asset-link')).to.be.a('a');

        const wrapper1 = shallow(<AssetOverlay asset={ assetsData[0] } shouldBeLinked="false" />);
        //expect(wrapper1.find('.overlay-asset-link')).to.be.a('div');
    });

1 个答案:

答案 0 :(得分:2)

那就是因为chais类型检查检查 javascript 类型,而不是HTML-Tags。

如果wrapper.find()返回普通的HTML-Element,您可以实现您想要测试的内容:

expect(wrapper.find('.overlay-asset-link').tagName).to.equal('A');

注意:tagname-property始终为大写。