[英]Testing chakra-ui using jest in a next-js app
I have a login page as我有一个登录页面
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;
and I want to do a snapshot test for this page using jest.我想使用 jest 对此页面进行快照测试。
I created Login.test.tsx
as我将
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();
});
});
Is this a right approach to test web pages created using chakra-ui?这是测试使用 chakra-ui 创建的 web 个页面的正确方法吗?
What you can do is create a customer render where you'll put all your providers.您可以做的是创建一个客户渲染,您将在其中放置所有提供者。
https://testing-library.com/docs/react-testing-library/setuphttps://testing-library.com/docs/react-testing-library/setup
If you want to do snapshot testing you can do it like that https://testing-library.com/docs/react-testing-library/api/#render如果你想做快照测试,你可以这样做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.