Javascript Sinon访问原始功能体
我正在用sinon chai和酶测试反应成分。 我正在编写一个插件,它有一个HOC,可以生成一个新的React组件 我不确定用户将向HOC传递什么,所以我想检查它是否是React组件。我能找到的唯一(难看的)办法就是从中适应 这是一种测试组件是否为React组件的模糊方法 问题是当我的组件是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
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);