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

检查Jest中我的组件上是否存在可选道具

  •  2
  • blankface  · 技术社区  · 6 年前

    我的组件具有以下属性,其中 jsonpayload 可选。

    export interface props {
          jsonpayload?: payload[]
          onclick: () => void;
        }
    

    Jest文件:

    const test_prop: dummy_props = {
        OnChange: jest.fn()
    }
    
    it("checks if jsonpayloadprop is present or not", () => {
            const demoComponent = enzyme.mount(<Demo {...dummy_props}/>);
            expect(demoComponent .props().JSONData.exists()).toEqual(false);
    });
    

    在我的测试中,我想检查 jsonpayload公司 道具是否存在。到目前为止我已经试过了 exists() 但它不起作用。

    1 回复  |  直到 6 年前
        1
  •  3
  •   trixn    6 年前

    你也许可以

    expect(demoComponent.props().jsonpayload).toBeUndefined();
    

    另请参见 Truthiness 开玩笑的文档。

    但我真的认为这个测试根本没有必要。它基本上测试没有传递给组件的道具是 undefined 。您已经可以预期react会正确处理该问题。