由网友(?kimilovely)分享简介:我可以根据元素的文本查找元素,并检查它是否为以下链接:const Link = Parent.getByText('This is a link', { exact: false });expect(Link).toHaveAttribute('href', 'www.somewhere.com');如何检查其他元...![聚焦一类肿瘤新药临床研究,同源康医药获2.6亿元B轮融资](https://p.xsw88.cn/allimgs/daicuo/20230903/4834.png)
我可以根据元素的文本查找元素,并检查它是否为以下链接:
const Link = Parent.getByText('This is a link', { exact: false });
expect(Link).toHaveAttribute('href', 'www.somewhere.com');
如何检查其他元素(我通过文本找到的)不是链接?
const NotALink = Parent.getByText('Not a link', { exact: false });
推荐答案
![聚焦一类肿瘤新药临床研究,同源康医药获2.6亿元B轮融资](https://p.xsw88.cn/allimgs/daicuo/20230903/4834.png)
测试库文档有一个priority,它们建议的第一个查询是queryByRole
,其中you can query by a specific role,还有一个名称,这是您的情况。
您可以:
expect(screen.getByRole('link', { name: /this is a link/i })).toBeInTheDocument();
expect(screen.queryByRole('link', { name: /not a link/i })).toBe(null);
请注意,如果元素不存在,则需要执行queryBy,因为getBy查询将引发错误并使您的测试失败。
相关推荐
最新文章