首页 > 解决方案 > 用柏树测试反应受控输入

问题描述

我正在使用组件库和 cypress 之类的 ant 设计进行测试

我有这个输入并想测试它:

<Input
  data-cy="methodology-input"
  value={fileName}
  onChange={(e) => setFileName(e.target.value)}
/>

但后来我用cy.type()它没有打字。我找到了解决方案,但我认为这很糟糕:

cy.get('[data-cy=methodology-input]').then((input) => {
  const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
  const inputDOM = input[0];
  nativeInputValueSetter.call(inputDOM, 'test');
  inputDOM.dispatchEvent(new Event('change', { bubbles: true }));
});

如何在没有错误代码的情况下对其进行测试?

标签: reactjstestingcypress

解决方案


推荐阅读