Closed
Description
It appears that using re-render inside separate tests does not update props and instead re-renders the component from scratch. Is this by design?
See https://codesandbox.io/s/testing-libraryreact-re-render-issue-o1osd for a complete example
export const Bla = ({ hooo }) => {
const id = useRef(0);
useEffect(() => {
id.current++;
console.log("id:", id.current);
}, [hooo]);
return <div>{hooo}</div>;
};
describe("bla", () => {
let instance;
beforeAll(() => {
instance = render(<Bla hooo={3} />);
});
it("works when in one test", () => {
instance.rerender(<Bla hooo={4} />);
instance.rerender(<Bla hooo={5} />);
instance.rerender(<Bla hooo={6} />);
// output id: 1, 2, 3, 4
expect(true).toBe(true);
});
it("doesn't work 1", () => {
instance.rerender(<Bla hooo={7} />);
// output id: 1
expect(true).toBe(true);
});
it("doesn't work 2", () => {
instance.rerender(<Bla hooo={8} />);
// output id: 1
expect(true).toBe(true);
});
});
Metadata
Metadata
Assignees
Labels
No labels