Тестирование исправленной функции в компоненте React с помощью Jest и Enzyme - PullRequest
0 голосов
/ 08 октября 2018

Я тестирую компонент React, используя Jest и Enzyme, и испытываю трудности с проверкой правильности (или вообще) вызова деблокированной функции.Я упростил приведенный ниже код компонента (отредактирован, чтобы сделать код еще проще), ссылка на codepen здесь

// uses lodash debounce

class MyApp extends React.Component {
  constructor(props) {
    super()
    this.state = {name: "initial value"};
    this.debouncedFunction = _.debounce(this.debouncedFunction, 3000);
    this.handleClick = this.handleClick.bind(this)
  }

  debouncedFunction () {
    this.setState({name: "after delay, updated value"});
  }

  handleClick() {
    this.debouncedFunction();
  }

  render() {
    return (
      <div>
        <p>{this.state.name}</p>
        <button onClick={this.handleClick}>
          click for debounced function
        </button>
      </div>
    );
  }
}

Я подумал, что тест для отрицаемых функций должен быть очень похож на тот, которыйявляется необъявленным, но с setTimeout или Promise (с утверждением expect внутри .then или .finally).После многих испытаний, использующих обе эти идеи, я уже не уверен в этом.Есть идеи?

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