使用Reaction测试库检查出现在元素内的文本

原学程将引见应用Reaction尝试库检讨涌现在元素内的文原的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

使用Reaction测试库检查出现在元素内的文本 教程 第1张

成绩描写

我正在应用Testing Library为Reaction运用法式编辑1些尝试。我想检讨某些文原能否涌现,但是我须要检讨它能否涌现在特定地位,由于我晓得它曾经涌现在其余地位。

Testing Library documentation for queries表现getByText盘问接收container参数,我猜该参数许可您在该容器内停止搜刮。我测验考试如许做,依照文档中指定的次序应用container以及text参数:

const container = getByTestId('my-test-id');
expect(getByText(container, 'some text')).toBeTruthy();

我支到1个毛病:matcher.test is not a function

假如我将参数反过去:

const container = getByTestId('my-test-id');
expect(getByText('some text', container)).toBeTruthy();

我支到分歧的毛病:Found multiple elements with the text: some text

这意味着它出有在指定容器内停止搜刮。

我想我不睬解getByText是怎样任务的。我做错了甚么?

推举谜底

这类工作最佳应用within

const { getByTestId } = render(<MyComponent />)
const { getByText } = within(getByTestId('my-test-id'))
expect(getByText('some text')).toBeInTheDocument()

佳了闭于应用Reaction尝试库检讨涌现在元素内的文原的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。