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()
实际上是导致错误的原因。你知道为什么吗?此外,您对multiple
div的看法是正确的,很遗憾,我不知道:(
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');