抱歉,我一直在尝试通过单击按钮来测试关闭我的ReactModal,这让我度过了最艰难的时光。Modal尽可能简单,我已经尝试了所有我能想到或找到的方法,但我仍然无法查询它的子项。模态组件:varReact=require('react');varModal=require('react-bootstrap').Modal;varButton=require('react-bootstrap').Button;varMyModal=React.createClass({...render:function(){return(MyModalHello,World!Close);}});我的
Reactv0.14将不再提供通过TestUtils.findAllInRenderedTree遍历根组件内所有渲染组件的能力-DOM组件将被排除在外。是否有一些更好的做法遍历根组件内的所有组件? 最佳答案 您可以通过遍历子节点来递归遍历节点。functiontraverse(node,visitor){return_traverse(node,visitor,{level:0,parent:null});}function_traverse(node,visitor,state){visitor(node,state);if(!n
我正在尝试使用ReactJS和JSDOM模拟滚动事件。最初我尝试了以下方法:varfooter=TestUtils.findRenderedDOMComponentWithClass(Component,'footer');footer.scrollTop=500;TestUtils.Simulate.scroll(footer.getDOMNode());//Itriedthisaswell,butnoluck//TestUtils.Simulate.scroll(footer);根本不会传播滚动事件。然后,我手动创建了事件并且一切正常:varevt=document.createE
我的应用程序中有很多组件可以响应不同的按键操作,到目前为止,我使用TestUtils.Simulate.keyDown的测试都无法正常工作。似乎keyDown简单明了是行不通的。这是我要测试的组件:描述.jsvarReact=require('react/addons');varDescription=React.createClass({render:function(){return()}});module.exports=Description;这是一个失败的简单测试:描述-test.jsvarReact=require('react/addons');varTestUtils=
我有一个带有3个单选按钮的表单,如下所示(假名):而且我很难尝试测试onChange和onSubmit事件。inputs=TestUtils.scryRenderedDOMComponentsWithClass(MyComponentRendered,'myRadio');myForm=TestUtils.findRenderedDOMComponentWithClass(MyComponentRendered,'myForm');我有这样的测试:it("changesthecheckedstatewhenclicked",function(){MyComponent.change=j
我已经对使用Mocha显示表格的React组件进行了一些测试。我可以断言它的初始状态,但我有一个点击事件,它对我想要测试的数据进行排序。如果我使用React.addons.TestUtils.Simulate.click(theComponent)来尝试测试排序。我可以看到事件已处理,状态改变被触发在调用setState之前对数据进行排序但是当我对组件进行断言时,什么都没有改变。it('sortsthedatawhentheyearheaderisclicked',function(){varReact=require('react/addons');varTestUtils=Reac
我希望能够使用reactjs模拟用户在文本框中键入内容,以便测试我的验证状态消息。我有一个在keyUp上验证的react组件下面是我尝试过的一个简单示例。nameInput.props.value='a';React.addons.TestUtils.Simulate.keyUp(nameInput);React.addons.TestUtils.findRenderedDOMComponentWithClass(component,'has-error');当我在验证器中调试时,这似乎并没有改变绑定(bind)文本框的值React.addons.TestUtils.Simulate.