Свойство 'value' не существует для типа 'HTMLElement' в библиотеке тестирования React - PullRequest
2 голосов
/ 30 января 2020

Я использую React-testing-library и получаю сообщение об ошибке в последней строке: Ожидаем (title.value) .toBe ("testtitle");})}) . Сообщение об ошибке: Свойство 'value' не существует для типа 'HTMLElement' . Как я могу исправить это сообщение об ошибке, чтобы эффективно написать этот код?

Testfile

  <Router history={history}>
            <Route render={(props) => 
            <NewQuestion {...props} onSave={jest.fn()}/>}/>
        </Router>)
    const title= getByPlaceholderText("What's your question? Be specific");
    fireEvent.change(title, {target: {value: "testtitle"}})
    expect (title.value).toBe("testtitle");})})

1 Ответ

5 голосов
/ 30 января 2020

Вы должны привести переменную title к HTMLInputElement, чтобы иметь возможность иметь свойство value. Попробуйте следующий код:

const title = getByPlaceholderText("test") as HTMLInputElement;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...