within
, getQueriesForElement
#
function within(element: ReactTestInstance): Queries {}
function getQueriesForElement(element: ReactTestInstance): Queries {}
within
(also available as getQueriesForElement
alias) performs queries scoped to given element.
NOTE
Please note that additional render
specific operations like update
, unmount
, debug
, toJSON
are not included.
const detailsScreen = within(screen.getByA11yHint('Details Screen'));
expect(detailsScreen.getByText('Some Text')).toBeOnTheScreen();
expect(detailsScreen.getByDisplayValue('Some Value')).toBeOnTheScreen();
expect(detailsScreen.queryByLabelText('Some Label')).toBeOnTheScreen();
await expect(detailsScreen.findByA11yHint('Some Label')).resolves.toBeOnTheScreen();
Use cases for scoped queries include:
act
#
Useful function to help testing components that use hooks API. By default any render
, update
, fireEvent
, and waitFor
calls are wrapped by this function, so there is no need to wrap it manually. This method is re-exported from react-test-renderer
.
Consult our Understanding Act function document for more understanding of its intricacies.
cleanup
#
const cleanup: () => void;
Unmounts React trees that were mounted with render
and clears screen
variable that holds latest render
output.
INFO
Please note that this is done automatically if the testing framework you're using supports the afterEach
global (like mocha, Jest, and Jasmine). If not, you will need to do manual cleanups after each test.
For example, if you're using the jest
testing framework, then you would need to use the afterEach
hook like so:
import { cleanup, render } from '@testing-library/react-native/pure';
import { View } from 'react-native';
afterEach(cleanup);
it('renders a view', () => {
render(<View />);
// ...
});
The afterEach(cleanup)
call also works in describe
blocks:
describe('when logged in', () => {
afterEach(cleanup);
it('renders the user', () => {
render(<SiteHeader />);
// ...
});
});
Failing to call cleanup
when you've called render
could result in a memory leak and tests which are not "idempotent" (which can lead to difficult to debug errors in your tests).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4