【发布时间】: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