尝试在纯React组件的酶包装上调用TypeError: Cannot read property 'state' of null
时,我收到以下错误setProps
。
我写了一个我想要做的简化版本,测试看起来像这样:
import React from "react"
import {shallow} from "enzyme"
import Simple from "../Simple"
describe("<Simple />", () => {
it("renders param", () => {
const wrapper = shallow(<Simple param="foo" />)
expect(wrapper.text()).toEqual("foo")
wrapper.setProps({param: "bar"})
expect(wrapper.text()).toEqual("bar")
})
})
这是组件:
export default function Simple(props) {
return props.param
}
我正在使用React 16.0.0-alpha.12
,React Native 0.46.4
和Enzyme 2.9.1
答案 0 :(得分:0)
在撰写本文时,根据this GitHub issue,酶还没有支持React 16。
不幸的是,由于React Native 0.43及更高版本需要React 16,React Native和Enzyme目前不兼容。
您的特定问题是否由此不兼容性引起,您可能会发现Enzyme不适合您。
与此同时,您最好使用Jest snapshot tests而不是断言测试。