392得票13回答
如何使用Jest和React Testing Library测试元素不存在?

我有一个组件库,正在使用Jest和react-testing-library编写单元测试。基于某些props或事件,我想验证某些元素是否未被渲染。 getByText,getByTestId等在react-testing-library中如果找不到元素会抛出错误,导致测试在expect函数触...

197得票17回答
React测试库为什么没有toBeInTheDocument()函数?

这是我的工具提示代码,它会在鼠标悬停时切换CSS属性display: block,并在鼠标移开时切换为display: none。 it('should show and hide the message using onMouseOver and onMouseOut events re...

176得票10回答
如何使用Jest和React测试库测试className

我完全不了解JavaScript测试并正在使用新的代码库。我想编写一个测试,检查元素上的className。我正在使用Jest和React Testing Library。下面是一个测试,它将基于variant属性呈现按钮。它还包含一个className,我想测试一下。it('Renders ...

170得票12回答
react-testing-library: 调试输出的某些部分不可见

我正在使用React Jest和React Testing Library来测试我的组件。 我遇到了一个奇怪的问题。我正在使用由testing-library的render返回的debug函数。 test('component should work', async () => { ...

139得票6回答
如何解决在testing-library-react中出现的“update was not wrapped in act()”警告?

我正在使用一个简单的组件进行副作用操作。我的测试通过了,但是我收到了警告:“警告:在测试中对Hello的更新没有包装在act(...)中。” 我也不确定是否使用waitForElement是编写这个测试的最佳方式。 我的组件 export default function Hello()...

134得票10回答
如何使用react-testing-library测试锚点的href属性

我正在尝试测试我的锚标签。一旦我点击它,我想看看window.location.href是否符合我的期望。 我已经尝试渲染该锚标签、单击它,然后测试window.location.href:test('should navigate to ... when link is clicked',...

123得票10回答
在React测试库中检查按钮是否已禁用。

我有一个 React 组件,生成一个包含 <span> 元素的按钮,类似于这个:function Click(props) { return ( <button disable={props.disable}> <s...

117得票7回答
在react-testing-library中通过id查找元素

我正在使用react-testing-library来测试我的React应用程序。由于某些原因,我需要能够通过id而不是data-testid找到元素。文档中没有办法实现这一点。 有没有办法实现这个功能? 我有如下渲染的输出:const dom = render(<App />);...

110得票4回答
如何模拟 React 自定义 Hook 返回的值?

这是我的自定义钩子: export function useClientRect() { const [scrollH, setScrollH] = useState(0); const [clientH, setClientH] = useState(0); con...

101得票8回答
如何使用React Testing Library按文本字符串查询包含HTML标记的内容?

目前的解决方案 使用以下 HTML 代码:<p data-testid="foo">Name: <strong>Bob</strong> <em>(special guest)</em></p> 我可以使用React T...