Тестирование функции изменения ручки в React с использованием Enzyme и Jest

Он является на основе None id, но None является одним из нескольких объектов Python, которые определены как глобальные переменные C, поэтому его адрес (обычно) не изменяется между прогонами Python. Другие такие объекты: True и False (но они хэшированы как int) или встроенные классы, такие как object и tuple.

Адрес (и хэш) отличается от однако, разные сборки CPython. В моей системе hash(None) выдает 539708.

0
задан g00glen00b 28 February 2019 в 08:39
поделиться

1 ответ

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

Похоже, у вас есть небольшая опечатка, передайте { target: { value: 2 } } как ваше событие.

Вот рабочий пример на основе предоставленного вами кода:

import * as React from 'react';
import { shallow } from 'enzyme';

class DeleteOne extends React.Component {

  handleChange = e => {
    this.setState({
      num: e.target.value
    });
  };

  render() {
    return (
      <div>
        <h2>Delete cat :(</h2>
        <input
          onChange={this.handleChange}
          type="number"
          placeholder="enter id here"
        />
        <button id="deleteBtn" onClick={this.deleteOne}>
          Delete
      </button>
      </div>
    );
  }
}

it("Updates the state", () => {
  const wrapper = shallow(<DeleteOne />);
  const input = wrapper.find("input");
  input.simulate("change", { target: { value: 2 } });  // 'value' instead of 'num'
  expect(wrapper.state().num).toEqual(2);  // SUCCESS
});
0
ответ дан brian-lives-outdoors 28 February 2019 в 08:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: