поле ввода кипариса не будет очищено - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть поле ввода:

<input value="0">

, которое я могу легко очистить () и набрать ("123") в кипарисе.значение обновляется, и все в порядке.

с другой стороны, предварительно заполненное поле ввода, как показано ниже, я не могу обновить, потому что Cypress записывает мое значение .type ("123") только в начале значения.

<input value="1500000">

Мой метод заключается в следующем:

   .find("input")
            .clear()
            .type(`${input}{enter}`)

изменения в полях запускают редукционные действия, мы используем избыточность для всей нашей обработки состояний.Может ли это быть проблемой?

В противном случае, вы знаете об этой проблеме?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Попробуйте добавить утверждение, чтобы Cypress «ждал» очистки ввода:

.clear().should('have.value', '')
.type(...)
0 голосов
/ 05 февраля 2019

Я тестировал, используя найденный HTML здесь и все работает нормально (на скриншоте я написал "Стефано" вместо значения по умолчанию)

enter image description here

Вы достигли точки, когда цитируете React: для такого рода изменений состояния требуется немного больше работы, чем ожидалось, потому что React (и Vue и т. Д.) Явно перезаписывают все в DOM.

Вы сталкиваетесь с распространенной проблемой, когда React выполняет рендеринг компонента сразу после запуска события ... поэтому вам нужно изменить управление входным значением / defaultValue в вашем компоненте React, Google для него, и вы найдете множество решений.об этом 101

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...