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

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

Jest/react-testing-library:點擊一個按鈕沒有更新測試中的值

Jest/react-testing-library:點擊一個按鈕沒有更新測試中的值

侃侃爾雅 2023-05-18 10:47:37
初始問題我有一個簡單的遞增/遞減組件。它顯示了一個數(shù)字計數(shù)和 2 個遞增或遞減 1 的按鈕。還有一個輸入;如果在輸入中提供了數(shù)值,則按鈕使用輸入值而不是 1 來增加/減少。我有這個測試:it(`should increment by input value, if value > 0`, () => {  const { input } = setup();  // Change input value to 4  fireEvent.change(input, {target: { value: 4}});  // Find and click +n button  const btn = screen.getByText(`+n`);  fireEvent.click(btn);  // Find and check updated count  const updatedCount = parseInt(screen.getByTestId(`count`).textContent, 10)  expect(updatedCount).toBe(4);})問題:此處更新后的計數(shù)返回 1(默認(rèn)為useState),我預(yù)計為 4。expect(parseInt(input.value, 10)).toBe(4)通過并onChange連接輸入。問題:為什么沒有使用更新的輸入值?附加信息:雖然我不確定,但我認(rèn)為它可能沒有更新useStateon change,所以我還添加了一個鍵盤事件來在我更改它的值后點擊輸入上的 enter 鍵。我希望進(jìn)一步模擬用戶并更新狀態(tài),但我沒有運(yùn)氣。非常感謝任何幫助!對于任何不合適的地方,我深表歉意,最近幾天我一直在看 Jest/RTL。
查看完整描述

1 回答

?
慕萊塢森

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

您的類型屬性中有錯字。改變這個

<input?type="texts"?{...}?/>

對此

<input?type="text"?{...}?/>

并且測試將再次起作用。我的猜測是,通過指定一個<input>無效的type屬性,庫不知道你是哪個角色input,所以它不能onchange正確處理事件。

我不確定為什么更新到react-scriptsand的新版本@testing-library/react會解決問題,即使您將拼寫錯誤留在那里也是如此。


查看完整回答
反對 回復(fù) 2023-05-18
  • 1 回答
  • 0 關(guān)注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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