【问题标题】:How do you test object state in jest and enzyme?您如何在玩笑和酶中测试对象状态?
【发布时间】:2019-06-14 17:48:56
【问题描述】:

我正在开玩笑地测试组件的状态。它包含一个对象,我开玩笑地知道,有一个方法 .state(state property),但在我的情况下它只返回对象。例如,状态会是这样的

this.state = {
    Person: {
         name: "sample name",
         school: "sample school name"
    }
}

当我做expect(wrapper.state("Person")).toBe("name"); 时,它显然失败了。我试着做expect(wrapper.state("Person").name).toBe("name"); 但这行不通。我还尝试获取 wrapper.state 的结果并从中获取名称,但它不会让我从中获取属性。如何从 state 中获取对象的属性。

【问题讨论】:

  • 这不是开玩笑的问题,这只是跑步者,但这取决于您的测试工具。您可能正在使用酶......我建议您编辑/重命名您的问题并查看airbnb.io/enzyme以防万一
  • 你应该使用expect(wrapper.state("Person").name).toBe("sample name");。可能是this 会有所帮助。

标签: javascript reactjs unit-testing jestjs enzyme


【解决方案1】:

如果你想检查Person键下的state,你可以这样做:

expect(wrapper.state("Person")).toEqual({
     name: "sample name",
     school: "sample school name"
});

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2021-01-26
    • 1970-01-01
    • 2021-02-26
    • 2018-05-25
    • 2019-09-13
    • 2018-03-31
    • 2021-04-27
    • 2021-04-18
    相关资源
    最近更新 更多