我想检查一个元素是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');
});
最佳答案
那是因为 chais 类型检查检查 javascript 类型,而不是 HTML 标签。
如果 wrapper.find()
返回正常的 HTML 元素,您可以实现您想要测试的内容:
expect(wrapper.find('.overlay-asset-link').tagName).to.equal('A');
注意:标记名属性始终为大写。
关于javascript - 如何使用 chai 检查元素类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36618846/