我想检查一个元素是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');
});
答案 0 :(得分:2)
那就是因为chais类型检查检查 javascript 类型,而不是HTML-Tags。
如果wrapper.find()
返回普通的HTML-Element,您可以实现您想要测试的内容:
expect(wrapper.find('.overlay-asset-link').tagName).to.equal('A');
注意:tagname-property始终为大写。