gpt4 book ai didi

reactjs - 发现错误 : Method “props” is only meant to be run on a single node. 2

转载 作者:行者123 更新时间:2023-12-03 13:16:14 24 4
gpt4 key购买 nike

it('should call setCampaignDate on click', function () {
let spySetCampaign = sinon.spy(wrapper.instance(), 'setCampaignDate');
let datePickers = wrapper.find('.campaign-date-tab').dive().find(Datepicker);
assert.equal(datePickers.length, 2);
console.log(datePickers);
var date = new Date();

for (let index = 0; index < datePickers.length; index++) {
datePickers.simulate('change');
sinon.assert.calledOnce(spySetCampaign.withArgs(date, 'startDate'));
}


});

我正在尝试模拟我的“更改”功能并尝试测试是否调用“setCampaignDate”。这里的问题是find返回的我的浅层组件的长度是2:

let datePickers = wrapper.find('.campaign-date-tab').dive().find(Datepicker);

当尝试在“datepickers”上调用模拟时,会出现如下错误:

'错误:方法“props”只能在单个节点上运行。找到了 2 个。'。

不确定如何在节点大于 1 的组件上进行模拟。

最佳答案

在不更改代码的情况下实现多个组件的答案是使用 enzyme API 来获取所需按钮的正确索引。

wrapper.find(Component).at(index).simulate('click');

组件是您正在测试的名称,索引是您想要的数字。

关于reactjs - 发现错误 : Method “props” is only meant to be run on a single node. 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com