Reactjs 反应测试:更改输入字段的值

Reactjs 反应测试:更改输入字段的值,reactjs,reactjs-testutils,Reactjs,Reactjs Testutils,我无法设置输入字段的值。我做错了什么? 如果需要更多的信息,请告诉我。多谢各位 describe('SignUpComp', () => { let signUpComp, node; beforeEach(() => { signUpComp = TestUtils.renderIntoDocument(<SignUp />); node = ReactDOM.findDOMNode(signUpComp); }

我无法设置输入字段的值。我做错了什么? 如果需要更多的信息,请告诉我。多谢各位

describe('SignUpComp', () => {
    let signUpComp, node;

    beforeEach(() => {
        signUpComp = TestUtils.renderIntoDocument(<SignUp />);
        node = ReactDOM.findDOMNode(signUpComp);
    });

    // First name
    it('it should trigger error `min chars` if input firstName is too short', () => {
        let elements = selectElements('firstName');

        TestUtils.Simulate.change(elements.input, { target: { value: 'abc' } });
        console.log(elements.input); // I can not see the change
        console.log(node); // I can not see the change

        expect(elements.error.textContent).to.equal(errorMsg.tooShort('First name', 2));
    });

    function selectElements(element) {
        let input = node.querySelector('#' + element);
        let error = node.querySelector('#' + element + '+ p');

        return { input, error };
    }
description('SignUpComp',()=>{
让signUpComp,节点;
在每个之前(()=>{
signUpComp=TestUtils.renderIntoDocument();
node=ReactDOM.findDOMNode(signUpComp);
});
//名字
它('如果输入的名字太短,它应该触发错误'min chars',()=>{
让elements=selectElements('firstName');
TestUtils.Simulate.change(elements.input,{target:{value:'abc'});
console.log(elements.input);//我看不到更改
console.log(node);//我看不到更改
expect(elements.error.textContent).to.equal(errorMsg.tooShort('First name',2));
});
函数selectElements(元素){
让输入=node.querySelector(“#”+元素);
let error=node.querySelector('#'+element+'+p');
返回{input,error};
}

我建议您看看,它大大简化了组件的测试

使用酶,您可以简单地执行以下操作:

const form = mount(<MyComponent />);
const input = form.find('input').get(0);
input.value = 'Blah blah';
const form=mount();
常量输入=form.find('input').get(0);
input.value='Blah Blah';

我建议您看看,它大大简化了组件的测试

使用酶,您可以简单地执行以下操作:

const form = mount(<MyComponent />);
const input = form.find('input').get(0);
input.value = 'Blah blah';
const form=mount();
常量输入=form.find('input').get(0);
input.value='Blah Blah';

“用{插入问题不在这里问的东西}很容易!”你认为如果这很容易,他们会已经尝试过了“用{插入问题不在这里问的东西}很容易!”你认为如果这很容易,他们会已经尝试过了吗