Button.test.tsx 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { render, screen, fireEvent } from '@testing-library/react'
  2. import { Button } from '@tarojs/components'
  3. describe('Button 组件测试', () => {
  4. test('应该正确渲染按钮', () => {
  5. render(<Button>测试按钮</Button>)
  6. const button = screen.getByRole('button')
  7. expect(button).toBeInTheDocument()
  8. expect(button).toHaveTextContent('测试按钮')
  9. })
  10. test('应该响应点击事件', () => {
  11. const handleClick = jest.fn()
  12. render(<Button onClick={handleClick}>可点击按钮</Button>)
  13. const button = screen.getByRole('button')
  14. fireEvent.click(button)
  15. expect(handleClick).toHaveBeenCalledTimes(1)
  16. })
  17. test('应该禁用按钮', () => {
  18. render(<Button disabled>禁用按钮</Button>)
  19. const button = screen.getByRole('button')
  20. expect(button).toBeDisabled()
  21. })
  22. test('应该应用自定义类名', () => {
  23. render(<Button className="custom-class">自定义按钮</Button>)
  24. const button = screen.getByRole('button')
  25. expect(button).toHaveClass('custom-class')
  26. })
  27. })