我目前正在編寫一個測試,檢查一個簡單的輸入組件:
it("Renders TextInput Component with correct display value", ()=>{
const textInput = screen.getByRole("textbox");
})
如果我想檢查文本輸入的值,我應該檢查屬性還是使用RTL的screen方法(有更好的方法嗎?)
expect(screen.getByDisplayValue(defaultProps.value));
expect(textInput).toHaveAttribute('name', defaultProps.name);
我想開始使用更多的RTL,但我發現我傳遞的一些屬性更難檢查,如下面的屬性。
expect(textInput).toHaveAttribute('placeholder', defaultProps.label);
expect(textInput).toHaveAttribute('type', defaultProps.type);
是的,
screen
肯定是首選的方式。閱讀本文,了解更多信息和更多提示。關于如何檢查輸入字段的值,您可以這樣做:
這將嘗試查找值為“my text”的輸入,就像真正的用戶一樣。如果它真的找到了,那么它就被視為通行證。