react-test-libary


reader

function render(
  ui: React.ReactElement<any>,
  options?: {
    /* You won't often use this, expand below for docs on options */
  }
): RenderResult

// custom render
// test-utils.js
import React from 'react'
import { render } from '@testing-library/react'
import { ThemeProvider } from 'my-ui-lib'
import { TranslationProvider } from 'my-i18n-lib'
import defaultStrings from 'i18n/en-x-default'

const AllTheProviders = ({ children }) => {
  return (
    <ThemeProvider theme="light">
      <TranslationProvider messages={defaultStrings}>
        {children}
      </TranslationProvider>
    </ThemeProvider>
  )
}

const customRender = (ui, options) =>
  render(ui, { wrapper: AllTheProviders, ...options })

// re-export everything
export * from '@testing-library/react'

// override render method
export { customRender as render }
  1. options

    • container
    • baseElement
    • hydrate
    • wrapper
    • queries
  2. renderResult

    • …queries

      1. document.body
        • getBy

          返回第一个匹配到的值,没有报错

        • getAllBy

          返回所有匹配到的值,没有报错

        • queryBy

          返回第一个匹配到的值,没找到返回null

        • queryAllBy

          返回所有匹配到的值,没找到返回[]

        • findBy

          返回一个promise, resolve第一个匹配到的值,没有reject

        • findAllBy

          返回一个promise, resolve element[],没有reject

      2. Queries
        • ByLabelText
        • ByPlaceholderText
        • ByText
        • ByAltText
        • ByTitle
        • ByDisplayValue
        • ByRole
        • ByTestId
    • container

    • baseElement

      default document.body

    • debug

      console.log(prettyDOM(baseElement))

    • rerender

      import { render } from '@testing-library/react'
      
      const { rerender } = render(<NumberDisplay number={1} />)
      
      // re-render the same component with different props
      rerender(<NumberDisplay number={2} />)
    • unmount

    • asFragment

cleanup

卸载render的组件
test.afterEach(cleanup)

act

react-test-libary文档

jest


文章作者: enochjs
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 enochjs !
 上一篇
解决canvas绘图模糊问题 解决canvas绘图模糊问题
相关概念 像素 像素,图像显示的基本单位,英文pixel(picture + element) 显示器的一个像素就是一个方格,电脑显示器、手机显示器,都是由一个个方格像素点组成,类似于显示的基本单位 一个像素点,同一时刻只能显示一种颜色,这
2020-09-03
下一篇 
jest-api jest-api
global beforeAll(fn, timeout) afterAll(fn, timeout) beforeEach(fn, timeout) afterEach(fn, timeout) describe describ
2020-08-25
  目录