@testing-library/react
- Version 16.0.1
- Published
- 329 kB
- 1 dependency
- MIT license
Install
npm i @testing-library/react
yarn add @testing-library/react
pnpm add @testing-library/react
Overview
Simple and complete React DOM testing utilities that encourage good testing practices.
Index
Variables
Functions
Interfaces
Type Aliases
Variables
variable act
const act: any;
Simply calls React.act(cb) If that's not available (older version of react) then it simply calls the deprecated version which is ReactTestUtils.act(cb)
Functions
function cleanup
cleanup: () => void;
Unmounts React trees that were mounted with render.
function configure
configure: (configDelta: ConfigFn | Partial<Config>) => void;
function getConfig
getConfig: () => Config;
function render
render: { < Q extends Queries = any, Container extends unknown = HTMLElement, BaseElement extends unknown = Container >( ui: React.ReactNode, options: RenderOptions<Q, Container, BaseElement> ): RenderResult<Q, Container, BaseElement>; ( ui: React.ReactNode, options?: Omit<RenderOptions<any, HTMLElement, HTMLElement>, 'queries'> ): any;};
Render into a container which is appended to document.body. It should be used with cleanup.
function renderHook
renderHook: < Result, Props, Q extends Queries = any, Container extends unknown = HTMLElement, BaseElement extends unknown = Container>( render: (initialProps: Props) => Result, options?: RenderHookOptions<Props, Q, Container, BaseElement> | undefined) => RenderHookResult<Result, Props>;
Allows you to render a hook within a test React component without having to create that component yourself.
Interfaces
interface ClientRenderHookOptions
interface ClientRenderHookOptions< Props, Q extends Queries, Container extends Element | DocumentFragment, BaseElement extends Element | DocumentFragment = Container> extends BaseRenderHookOptions<Props, Q, Container, BaseElement> {}
Deprecated
property hydrate
hydrate?: false | undefined;
If
hydrate
is set totrue
, then it will render withReactDOM.hydrate
. This may be useful if you are using server-side rendering and use ReactDOM.hydrate to mount your components.See Also
https://testing-library.com/docs/react-testing-library/api/#hydrate)
interface ClientRenderOptions
interface ClientRenderOptions< Q extends Queries, Container extends RendererableContainer, BaseElement extends RendererableContainer = Container> extends BaseRenderOptions<Q, Container, BaseElement> {}
Deprecated
property hydrate
hydrate?: false | undefined;
If
hydrate
is set totrue
, then it will render withReactDOM.hydrate
. This may be useful if you are using server-side rendering and use ReactDOM.hydrate to mount your components.See Also
https://testing-library.com/docs/react-testing-library/api/#hydrate)
interface Config
interface Config extends ConfigDTL {}
property reactStrictMode
reactStrictMode: boolean;
interface ConfigFn
interface ConfigFn {}
call signature
(existingConfig: Config): Partial<Config>;
interface HydrateHookOptions
interface HydrateHookOptions< Props, Q extends Queries, Container extends Element | DocumentFragment, BaseElement extends Element | DocumentFragment = Container> extends BaseRenderHookOptions<Props, Q, Container, BaseElement> {}
Deprecated
property hydrate
hydrate: true;
If
hydrate
is set totrue
, then it will render withReactDOM.hydrate
. This may be useful if you are using server-side rendering and use ReactDOM.hydrate to mount your components.See Also
https://testing-library.com/docs/react-testing-library/api/#hydrate)
interface HydrateOptions
interface HydrateOptions< Q extends Queries, Container extends HydrateableContainer, BaseElement extends HydrateableContainer = Container> extends BaseRenderOptions<Q, Container, BaseElement> {}
Deprecated
property hydrate
hydrate: true;
If
hydrate
is set totrue
, then it will render withReactDOM.hydrate
. This may be useful if you are using server-side rendering and use ReactDOM.hydrate to mount your components.See Also
https://testing-library.com/docs/react-testing-library/api/#hydrate)
interface RenderHookOptions
interface RenderHookOptions< Props, Q extends Queries = typeof queries, Container extends RendererableContainer | HydrateableContainer = HTMLElement, BaseElement extends RendererableContainer | HydrateableContainer = Container> extends BaseRenderOptions<Q, Container, BaseElement> {}
property initialProps
initialProps?: Props | undefined;
The argument passed to the renderHook callback. Can be useful if you plan to use the rerender utility to change the values passed to your hook.
interface RenderHookResult
interface RenderHookResult<Result, Props> {}
property rerender
rerender: (props?: Props) => void;
Triggers a re-render. The props will be passed to your renderHook callback.
property result
result: { /** * The value returned by your renderHook callback */ current: Result;};
This is a stable reference to the latest value returned by your renderHook callback
property unmount
unmount: () => void;
Unmounts the test component. This is useful for when you need to test any cleanup your useEffects have.
interface RenderOptions
interface RenderOptions< Q extends Queries = typeof queries, Container extends RendererableContainer | HydrateableContainer = HTMLElement, BaseElement extends RendererableContainer | HydrateableContainer = Container> {}
property baseElement
baseElement?: BaseElement | undefined;
Defaults to the container if the container is specified. Otherwise
document.body
is used for the default. This is used as the base element for the queries as well as what is printed when you usedebug()
.See Also
https://testing-library.com/docs/react-testing-library/api/#baseelement
property container
container?: Container | undefined;
By default, React Testing Library will create a div and append that div to the document.body. Your React component will be rendered in the created div. If you provide your own HTMLElement container via this option, it will not be appended to the document.body automatically.
For example: If you are unit testing a
<tbody>
element, it cannot be a child of a div. In this case, you can specify a table as the render container.See Also
https://testing-library.com/docs/react-testing-library/api/#container
property hydrate
hydrate?: boolean | undefined;
If
hydrate
is set totrue
, then it will render withReactDOM.hydrate
. This may be useful if you are using server-side rendering and use ReactDOM.hydrate to mount your components.See Also
https://testing-library.com/docs/react-testing-library/api/#hydrate)
property legacyRoot
legacyRoot?: boolean | undefined;
Only works if used with React 18. Set to
true
if you want to force synchronousReactDOM.render
. Otherwiserender
will default to concurrent React if available.
property queries
queries?: Q | undefined;
Queries to bind. Overrides the default set from DOM Testing Library unless merged.
See Also
https://testing-library.com/docs/react-testing-library/api/#queries
property wrapper
wrapper?: React.JSXElementConstructor<{ children: React.ReactNode }> | undefined;
Pass a React Component as the wrapper option to have it rendered around the inner element. This is most useful for creating reusable custom render functions for common data providers. See setup for examples.
See Also
https://testing-library.com/docs/react-testing-library/api/#wrapper
Type Aliases
type BaseRenderHookOptions
type BaseRenderHookOptions< Props, Q extends Queries, Container extends RendererableContainer | HydrateableContainer, BaseElement extends Element | DocumentFragment> = RenderHookOptions<Props, Q, Container, BaseElement>;
Deprecated
type BaseRenderOptions
type BaseRenderOptions< Q extends Queries, Container extends RendererableContainer | HydrateableContainer, BaseElement extends RendererableContainer | HydrateableContainer> = RenderOptions<Q, Container, BaseElement>;
Deprecated
type RenderResult
type RenderResult< Q extends Queries = typeof queries, Container extends RendererableContainer | HydrateableContainer = HTMLElement, BaseElement extends RendererableContainer | HydrateableContainer = Container> = { container: Container; baseElement: BaseElement; debug: ( baseElement?: | RendererableContainer | HydrateableContainer | Array<RendererableContainer | HydrateableContainer> | undefined, maxLength?: number | undefined, options?: prettyFormat.OptionsReceived | undefined ) => void; rerender: (ui: React.ReactNode) => void; unmount: () => void; asFragment: () => DocumentFragment;} & { [P in keyof Q]: BoundFunction<Q[P]> };
Package Files (1)
Dependencies (1)
Dev Dependencies (13)
Peer Dependencies (5)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@testing-library/react
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@testing-library/react)
- HTML<a href="https://www.jsdocs.io/package/@testing-library/react"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 2120 ms. - Missing or incorrect documentation? Open an issue for this package.