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

时间:2018-04-19 23:00:58

标签: reactjs typescript jestjs enzyme

我的组件具有以下道具,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 个答案:

答案 0 :(得分:2)

你可以做

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

另请参阅jest docs中的Truthiness

但我真的认为这个测试根本没有必要。它基本上测试了未传递给组件的道具是undefined。您已经可以期待做出正确处理的反应。