Reactjs 酶试验中的props.params

Reactjs 酶试验中的props.params,reactjs,enzyme,Reactjs,Enzyme,我试图测试在componentWillMount生命周期方法中发出getJSON请求的组件。其代码如下: api.getJSON(`users/${this.props.params.id}`) .done((result) => { this.setState({user: result}); }); 如您所见,它使用props.params.id发出请求。我遇到的问题在我的测试中。当我运行npm测试时返回

我试图测试在componentWillMount生命周期方法中发出getJSON请求的组件。其代码如下:

api.getJSON(`users/${this.props.params.id}`)
            .done((result) => {
                this.setState({user: result});
            });

如您所见,它使用props.params.id发出请求。我遇到的问题在我的测试中。当我运行
npm测试时
返回undefined的cannot read属性,undefined是
props.params
。我怎样才能把这个东西放进酶里

这是一种在摩卡咖啡中使用酶的方法:
-安装jsdom
npm安装--保存开发--保存精确的jsdom jsdom global

-在before语句中加载jsdom(内部描述)


-现在在测试中使用挂载如下:

const someData = {data1:'yyyyyy'};
const wrapper = mount(<YourComponent yourProp={someData} />);
const someData={data1:'yyyyy'};
const wrapper=mount();

在您的情况下,“yourProp”应该是params,这样您就可以将数据传递给您的属性。

希望有此帮助。

您还需要在测试文件夹(test\mocha.ops)中有一个mocha.opts,其中包含:-r jsdom global/register。并使用--require选项(mocha--require)调用mocha。
const someData = {data1:'yyyyyy'};
const wrapper = mount(<YourComponent yourProp={someData} />);