代码之家  ›  专栏  ›  技术社区  ›  FailedUnitTest

jest shallow render按类查找,不包括

  •  0
  • FailedUnitTest  · 技术社区  · 7 年前

    const wrapper = shallow(<Features {...props}/>);
    expect(wrapper.find('.Feature__Item:not(.Feature__Showmore)').length).toBe(2);
    

    但是,我犯了这样的错误: 错误:酶::选择器不支持伪元素或伪类选择器。

    我怎样才能克服这个限制呢?

    更新 :有趣的观察,当我在调试控制台中编写以下内容时: wrapper.find('.Feature__Item').findWhere(a => a.hasClass('Feature__Showmore') === false).length

    0:Object {nodeType: "host", type: "li", props: Object, …}
    1:Object {nodeType: "function", type: , props: Object, …}
    2:Object {nodeType: "host", type: "li", props: Object, …}
    3:Object {nodeType: "function", type: , props: Object, …}
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   FailedUnitTest    7 年前

    我找到了另一种方法:

    expect(wrapper.find('.Feature__Item').not('.Feature__Showmore').length).toBe(2);
    
        2
  •  1
  •   Dario    7 年前

    你可以试试 findWhere :

    expect(wrapper.find('.Feature__Item').findWhere(a => a.hasClass('Feature__Showmore') === false).length).toBe(2);
    

    这将首先获取具有类的所有元素 Feature__Item Feature__Showmore 上课。

    推荐文章