STJ
@STJ
Front-end developer

Почему не работает TestUtils.Simulate.change в тестах реакта?

Привет. Предыдущий вопрос связан с этим же, но он не решился.

Компонент:
import React, { Component } from 'react';

export default class Test extends Component {

  constructor(...props) {
    super(...props);
  }

  render() {
    return (
      <div><input ref="input" /></div>
    )
  }
}


Код теста:
describe("Broker Full Page", function() {

  let page;

  beforeEach(function() {
    page = TestUtils.renderIntoDocument(<BrokerFull />);
  });

  it("Change all inputs in BrokerFull page", function() {
    let input = TestUtils.findRenderedDOMComponentWithTag(page, "input");
    expect(input.getDOMNode().value).to.be.equal('');   //  PASSED
    TestUtils.Simulate.change(input, { target: { value: 'a' } });
    expect(input.getDOMNode().value).to.be.equal('a');  // FILED
  });

});

При попытке изменить value в поле ввода ничего не меняется.
Что я делаю не так?
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 1
tamtakoe
@tamtakoe
В документации по Реакту написано как нужно делать https://facebook.github.io/react/docs/test-utils.html
// <input ref="input" />
var node = this.refs.input;
node.value = 'giraffe';
ReactTestUtils.Simulate.change(node);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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