Write documentation for `react-test-renderer`
KnutHelland opened this issue · 5 comments
This is the first day I've used react-test-renderer
, and I've already stumbled upon three problems:
- The injectEnvironment called twice bug #7386
- The fact that refs is just
null
when rendered withreact-test-renderer
#7371 - When setting a ref on a dom element, React erroneously warns about stateless function components cannot be given refs. (also probably related to #7371)
react-test-renderer
is going to be shipped with create-react-app
very soon (?) (it's in react-test-renderer@0.3.0-alpha
), so I think it deserves some more comprehensive documentation as soon as possible. With at least some troubleshooting bulletpoints and some text about how one are supposed to do with refs.
I sometimes use refs from componentDidMount
. For example for setting focus on an input this.refs.input.focus()
. But such code will fail with cannot call focus() on undefined
. Should we always test if a ref isn't undefined before using them? Or do you have some plans for react-test-renderer
in near future that will solve this issue in some way?
I'm hitting the injectEnvironment
called twice bug with react-bootstrap
and considering my options.
While we're talking react-test-render docs, it may be obvious, but you can't use react-test-renderer with React 0.14 code due to module dependencies, this is more of a Jest documentation bug. jestjs/jest#1364
Please see my replies:
The inject bug is slightly more complicated than #7386 (comment), @gaearon -- I've turned off auto-mocking entirely, and it still happens. Here's some more detail on what's been done/suggested: jestjs/jest#1353 (comment)
I've turned off auto-mocking entirely, and it still happens.
Sorry I wasn’t clear. I’m saying the solution to this is to mock react-dom
. This has no relation to automocking. You can turn automocking off (that’s what I’d recommend), but you still need to mock react-dom
with an empty mock to get snapshot testing working with react-dom
references.