题目名称:给 Alert 组件添加测试用例
编程类型: Typescript
技能点: React,Typescript,React Testing Library,Jest
题目描述:
使用本章学到的测试知识,给 Alert 组件添加测试用例,注意应该根据 Alert 组件需求添加多个用例。
用例提示:
1 是否渲染正确的格式和类型(成功,默认,失败等)
2 点击关闭是否触发正确方法和更新界面
题目名称:给 Alert 组件添加测试用例
编程类型: Typescript
技能点: React,Typescript,React Testing Library,Jest
题目描述:
使用本章学到的测试知识,给 Alert 组件添加测试用例,注意应该根据 Alert 组件需求添加多个用例。
用例提示:
1 是否渲染正确的格式和类型(成功,默认,失败等)
2 点击关闭是否触发正确方法和更新界面
import { fireEvent, render } from '@testing-library/react';
import { describe, expect, it } from 'vitest';
import Alert, { AlertType } from '.';
describe('test Alert component', function () {
it('renders without crashing', function () {
const wrapper = render(<Alert title='这是标题'></Alert>);
const element = wrapper.getByTestId('alert-default');
expect(element).toBeInTheDocument();
expect(element).toHaveTextContent('这是标题');
})
it('renders default alert', function () {
const wrapper = render(<Alert></Alert>);
const element = wrapper.getByTestId(`alert-${AlertType.Default}`);
expect(element).toHaveClass('alert alert-default');
})
it('renders success alert', function () {
const wrapper = render(<Alert alertType={AlertType.Success}></Alert>);
const element = wrapper.getByTestId(`alert-${AlertType.Success}`);
expect(element).toHaveClass('alert alert-success');
})
it('renders warning alert', function () {
const wrapper = render(<Alert alertType={AlertType.Warning}></Alert>);
const element = wrapper.getByTestId(`alert-${AlertType.Warning}`);
expect(element).toHaveClass('alert alert-warning');
})
it('renders danger alert', function () {
const wrapper = render(<Alert alertType={AlertType.Danger}></Alert>);
const element = wrapper.getByTestId(`alert-${AlertType.Danger}`);
expect(element).toHaveClass('alert alert-danger');
// 测试一下关闭按钮
const closeEl = wrapper.queryByText('关闭') as HTMLElement;
expect(closeEl).toBeInTheDocument();
fireEvent.click(closeEl);
expect(element).not.toBeInTheDocument();
})
})
登录后即可查看更多作业,立即登录
数据加载中...