小编oze*_*enK的帖子

React 测试库:检查属性是否与正则表达式匹配

有没有办法使用 RTL 来测试元素是否具有基于正则表达式的有效属性?

就我而言,我想检查每个<a> 标签href是否都带有前斜杠尾随斜杠, /如下所示:<a href="/link-1/">Link 1/</a>

成分 :

const DropdownMenu = ({ open }) => {
  return (
    <ul className="dropdown-menu">
      {open && (
        <>
          <li>
            <Link to="/link-1/">Link 1</Link>
          </li>
          <li>
            <Link to="/link-2/">Link 2</Link>
          </li>
          <li>
            <Link to="/link-3/">Link 3</Link>
          </li>
        </>
      )}
    </ul>
  )
}
Run Code Online (Sandbox Code Playgroud)

正则表达式:^\/.*\/$

测试 :

 test('links have forward and trailing slashs', () => {
    render(<DropdownMenu open={true}></DropdownMenu>)
    const listLinks = screen.getAllByRole('link')
    listLinks.forEach((el) => {
      expect(el).toHaveAttribute('href', …
Run Code Online (Sandbox Code Playgroud)

testing reactjs jestjs react-testing-library

9
推荐指数
1
解决办法
6625
查看次数

标签 统计

jestjs ×1

react-testing-library ×1

reactjs ×1

testing ×1