Javascript 如何使用chai检查元素类型?

Javascript 如何使用chai检查元素类型?,javascript,unit-testing,reactjs,chai,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'); cons

我想检查一个元素是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');
    });
it('如果需要,没有链接',()=>{
常量包装器=浅();
expect(wrapper.find('.overlay-asset-link')).to.be.a('a');
const wrapper1=浅();
//expect(wrapper1.find('.overlay-asset-link')).to.be.a('div');
});

这是因为chais类型检查检查的是javascript类型,而不是HTML标记

如果
wrapper.find()
返回一个正常的HTML元素,您可以实现您想要测试的内容:

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


注意:标记名属性总是大写。

这是因为chais类型检查检查的是javascript类型,而不是HTML标记

如果
wrapper.find()
返回一个正常的HTML元素,您可以实现您想要测试的内容:

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

注意:标记名属性始终为大写