title: React Test Renderer: findAllByProps return double of what It should find when looking for testID in React Native
body: <p>I'm using React Test Renderer with Jest to test my React Native app.</p>
  
  <p>Here is a simple code example of what I'm doing:</p>
  
  <pre><code>it('renders one text', () =&gt; {
    const text = 'bar';
    const instance = renderer.create(
      &lt;View&gt;
        &lt;Text testID="foo"&gt;{text}&lt;/Text&gt;
      &lt;/View&gt;
    ).root;
    expect(instance.findAllByProps({ testID: 'foo' }).length).toEqual(1);
  });
  
  it('renders two texts', () =&gt; {
    const text = 'bar';
    const instance = renderer.create(
      &lt;View&gt;
        &lt;Text testID="foo"&gt;{text}&lt;/Text&gt;
        &lt;Text testID="foo"&gt;{text}&lt;/Text&gt;
      &lt;/View&gt;
    ).root;
    expect(instance.findAllByProps({ testID: 'foo' }).length).toEqual(2);
  });
  </code></pre>
  
  <p>The first test fails saying:</p>
  
  <pre><code>Expected: 1
  Received: 2
  </code></pre>
  
  <p>And the second test also fails:</p>
  
  <pre><code>Expected: 2
  Received: 4
  </code></pre>
  
  <p>Why does react test renderer using <code>findAllByProps</code> find double the instances?</p>
  
  <p><strong>PS:</strong> As a sanity check I also tried <code>findByProps</code> which works:</p>
  
  <pre><code>it('renders one text', () =&gt; {
    const text = 'bar';
    const instance = renderer.create(
      &lt;View&gt;
        &lt;Text testID="foo"&gt;{text}&lt;/Text&gt;
      &lt;/View&gt;
    ).root;
    expect(instance.findByProps({ testID: 'foo' }).props.children).toEqual(text);
  });
  </code></pre>