Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sinon访问原始功能体_Javascript_Reactjs_Sinon_Enzyme_Sinon Chai - Fatal编程技术网

Javascript Sinon访问原始功能体

Javascript Sinon访问原始功能体,javascript,reactjs,sinon,enzyme,sinon-chai,Javascript,Reactjs,Sinon,Enzyme,Sinon Chai,我正在用sinon chai和酶测试反应成分。 我正在编写一个插件,它有一个HOC,可以生成一个新的React组件 我不确定用户将向HOC传递什么,所以我想检查它是否是React组件。我能找到的唯一(难看的)办法就是从中适应 这是一种测试组件是否为React组件的模糊方法 问题是当我的组件是sinon间谍时 const FnChild = (props) => (<div id="child-fn">{props.children}</div>); const Ch

我正在用sinon chai和酶测试反应成分。 我正在编写一个插件,它有一个HOC,可以生成一个新的React组件

我不确定用户将向HOC传递什么,所以我想检查它是否是React组件。我能找到的唯一(难看的)办法就是从中适应

这是一种测试组件是否为React组件的模糊方法

问题是当我的组件是sinon间谍时

const FnChild = (props) => (<div id="child-fn">{props.children}</div>);
const ChildSpy = spy(FnChild);
constfnchild=(props)=>({props.children});
const ChildSpy=spy(FnChild);
现在测试
isReactComponent(ChildSpy)
将失败,因为
isFunctionComponent
将实际检查函数体,如果是
ChildSpy
将不再是原始函数体

我知道我不应该依赖身体功能,但这是我能找到的最好的方法


不管怎样,有没有办法从间谍那里找到原始尸体?在这种情况下,我如何将其传递给我的
isFunctionComponent

查看Sinon中spies的实现,似乎没有访问原始函数(或其主体)的方法。查看Sinon中spies的实现,似乎没有访问原始函数(或其主体)的方法。
const FnChild = (props) => (<div id="child-fn">{props.children}</div>);
const ChildSpy = spy(FnChild);