假设我有一个长这样的组件:
在我的测试中,我可以使用
但是有没有一种方法可以让Sinon在每次创建组件实例时自动桩数据函数?例如:
如果不可能做到这一点,是否有一种潜在的解决方案接近我所寻找的功能?
var React = require('react/addons');
var ExampleComponent = React.createClass({
test : function () {
return true;
},
render : function () {
var test = this.test();
return (
<div className="test-component">
Test component - {test}
</div>
);
}
});
module.exports = ExampleComponent;
在我的测试中,我可以使用
TestUtils
来呈现此组件,然后像这样存根方法:var renderedComponent = TestUtils.renderIntoDocument(<ExampleComponent/>);
sinon.stub(renderedComponent, 'test').returns(false);
expect(renderedComponent.test).toBe(false); //passes
但是有没有一种方法可以让Sinon在每次创建组件实例时自动桩数据函数?例如:
sinon.stubAll(ExampleComponent, 'test').returns(false); //something like this
var renderedComponent = TestUtils.renderIntoDocument(<ExampleComponent/>);
expect(renderedComponent.test).toBe(false); //I'd like this to pass
如果不可能做到这一点,是否有一种潜在的解决方案接近我所寻找的功能?
render
方法中呈现。父组件使用require()
获取构造函数,在我的测试中似乎没有办法覆盖子组件的原型。这有意义吗?如果您愿意,我可以用示例更新我的问题。 - Michael Parker