Closed
Description
react-testing-library
version:5.3.2
react
version:16.6.0
node
version:8.12.0
yarn
version:1.12.3
Relevant code or config:
const renderer1 = render(<div data-testid="first-render"></div>); // first render
const renderer2 = render(<div data-testid="second-render"></div>); // second render
console.log(renderer1.queryByTestId('first-render') !== null) // true
console.log(renderer1.queryByTestId('second-render') === null) // should true (but getting false)
console.log(renderer2.queryByTestId('first-render') === null) // should true (but getting false)
What you did:
I'm testing two components at same time.
What happened:
I have two separate components and when I rendered both at same time and querying elements does not provide expected behavior.
Reproduction:
Here is online a demo: https://stackblitz.com/edit/react-ts-dixecs?file=index.tsx
Problem description:
Querying elements searches from baseElement instead of container element, this makes elements available from another render.
Suggested solution:
The solution is, needs to generate queries on container element instead of baseElement (https://github.com/kentcdodds/react-testing-library/blob/master/src/index.js#L50).
Metadata
Metadata
Assignees
Labels
No labels