Javascript 在reactjs TestUtils中找不到带标记的组件
我一直在想为什么这几天都不管用。我很难让Javascript 在reactjs TestUtils中找不到带标记的组件,javascript,reactjs,Javascript,Reactjs,我一直在想为什么这几天都不管用。我很难让reactjsTestUtils正常工作,即使我将其简化为最简单的示例: describe('Layout', function() { it('try to find className', function(done) { var Wrapper = React.createClass({ render: function() { return <div classN
reactjs
TestUtils
正常工作,即使我将其简化为最简单的示例:
describe('Layout', function() {
it('try to find className', function(done) {
var Wrapper = React.createClass({
render: function() {
return <div className="testWrapper">Hello <span>Jim</span></div>;
}
});
var TestWrap = React.createClass({
render() {
return (
<div>
<p>Test this </p>
<Wrapper />
</div>
);
}
})
var renderedTree = TestUtils.renderIntoDocument(<TestWrap />);
var renderedMyComponent = TestUtils.findRenderedDOMComponentWithTag(renderedTree, 'div');
done();
});
与
结果:
执行1次成功中的1次(0.039秒/0.007秒)
与SCryRenderdDomComponentSwithTag()类似,但希望有一个结果
由于组件中有两个
块,因此必须使用scryrydreddomcomponentswithtag()
而不是finderedredomcomponenttwithtag()
来获取数组并使用array[0]
,array[1]
获取TestWrap
和Wrapper
组件中的组件。TestUtils.scryRenderedDOMComponentsWithTag()的结果是什么?我忍不住注意到您的示例包含两个div
s,这违反了find函数关于只有一个结果的假设。@DallonF接受了您的建议,这就是输出:@DallonF我认为console.log()
实际上是导致错误的原因。你知道为什么吗?此外,您对multiplediv的看法是正确的,很遗憾,我不知道:(
Error: Did not find exactly one match for tag:div
at Object.ReactTestUtils.findRenderedDOMComponentWithTag (/Users/bli1/Development/QE/data-trader/data-trader/spec/views/layout.js:22398:14)
at Context.<anonymous> (/Users/bli1/Development/QE/data-trader/data-trader/spec/views/layout.js:148:46)
var renderedMyComponent = TestUtils.findRenderedDOMComponentWithTag(renderedTree, 'div');
var renderedMyComponent = TestUtils.findRenderedDOMComponentWithTag(renderedTree, 'span');