javascript - 如何使用 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');

        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/

相关文章:

ruby-on-rails - rails 测试 : Array to be loaded in fixtures

javascript - 如何使用外部按钮/控件循环浏览 Accordion 内容?

unit-testing - 如何在单元测试中使用最小起订量对象?

javascript - AngularJS, Jasmine : Testing a controller function calling a service using $http

javascript - React Router 中的多个可选参数

ReactJS redux 订阅语句

javascript - 如何使用react-image-process将水印文本旋转到一定 Angular

javascript - 文本框和图像的 jQuery 验证未按预期工作

javascript - PHP Populate dropdown with ajax onchange issue 仅限 IE

javascript - 调用函数和点击动画