第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用反應(yīng)測試庫檢查文本是否出現(xiàn)在元素內(nèi)

使用反應(yīng)測試庫檢查文本是否出現(xiàn)在元素內(nèi)

慕桂英546537 2022-01-07 11:07:23
我正在使用Testing Library為 React 應(yīng)用程序編寫一些測試。我想檢查是否出現(xiàn)了一些文本,但我需要檢查它是否出現(xiàn)在特定位置,因為我知道它已經(jīng)出現(xiàn)在其他地方。查詢的測試庫文檔說getByText查詢需要一個container參數(shù),我猜它可以讓您在該容器中搜索。我嘗試這樣做,container并text按照文檔中指定的順序使用and參數(shù):const container = getByTestId('my-test-id');expect(getByText(container, 'some text')).toBeTruthy();我得到一個錯誤:matcher.test is not a function。如果我把參數(shù)反過來:const container = getByTestId('my-test-id');expect(getByText('some text', container)).toBeTruthy();我得到一個不同的錯誤: Found multiple elements with the text: some text這意味著它不在指定的容器內(nèi)搜索。我想我不明白它是如何getByText工作的。我究竟做錯了什么?
查看完整描述

2 回答

?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊

最好within用于此類事情:


const { getByTestId } = render(<MyComponent />)

const { getByText } = within(getByTestId('my-test-id'))

expect(getByText('some text')).toBeInTheDocument()


查看完整回答
反對 回復(fù) 2022-01-07
?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗 獲得超7個贊

另一種方法來做到這一點


import {render, screen} from '@testing-library/react';


...


  render(<MyComponent />);

  expect(screen.getByTestId('my-test-id')).toHaveTextContent('some text');

請注意,現(xiàn)在建議使用它來screen代替渲染的結(jié)果。


查看完整回答
反對 回復(fù) 2022-01-07
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號