繁体   English   中英

在 next.js 应用程序中使用 jest 测试 chakra-ui

[英]Testing chakra-ui using jest in a next-js app

我有一个登录页面

import { Flex, Stack, FormControl, FormLabel, Input, FormHelperText } from '@chakra-ui/react'
import type { NextPage } from 'next'

const Login: NextPage = () => {
  return (
    <Flex h="100vh" w="100vw" justifyContent="center" alignItems="center">
      <Stack>
        <FormControl>
          <FormLabel>Email address</FormLabel>
          <Input type='email' />
          <FormHelperText>We'll never share your email.</FormHelperText>
          </FormControl>
      </Stack>
    </Flex>
  );
};

export default Login;

我想使用 jest 对此页面进行快照测试。

我将Login.test.tsx创建为

import { render } from '@testing-library/react';

import Login from '../pages/Login';

describe('Login', () => {
    it('renders correctly', () => {
        const { container } = render(<Login />);
        expect(container).toMatchSnapshot();
    });
});

这是测试使用 chakra-ui 创建的 web 个页面的正确方法吗?

您可以做的是创建一个客户渲染,您将在其中放置所有提供者。

https://testing-library.com/docs/react-testing-library/setup

如果你想做快照测试,你可以这样做https://testing-library.com/docs/react-testing-library/api/#render

import { render } from '@testing-library/react';

import Login from '../pages/Login';

describe('Login', () => {
    it('renders correctly', () => {
        const { asFragment } = render(<ChakraProvider><Login /></ChakraProvider>);
        expect(asFragment()).toMatchSnapshot();
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM