【问题标题】:Enzyme - How can i access member variables of child component?Enzyme - 如何访问子组件的成员变量?
【发布时间】:2018-06-20 06:17:12
【问题描述】:

我正在使用酶对反应组件进行单元测试。我使用的以前版本的酶允许我使用一个或多个节点访问子节点及其成员变量。现在我使用的新版本的酶让我使用getElement 函数来访问子组件。而getElement 不允许我直接访问一个或多个节点(不支持)。如何使用getElement设置子组件的成员变量?

【问题讨论】:

    标签: reactjs unit-testing enzyme


    【解决方案1】:

    您不必强制使用getElement。这是我们如何进行单元测试的示例:

    it('should pass entered password to password child textfield', () => {
        const inputPassword = 'gold please';
        const wrapper = enzyme.shallow((
          <Login
            emailAddress=""
            password={inputPassword}
            loggingIn={false}
            isValid={true}
            loginAutofilled={false}
            classes={{}}
            onEmailChanged={email => null}
            onPasswordChanged={password => null}
            onLoginAsGuest={() => null}
            onLogin={(email, password) => null}
            onResetPassword={() => null}
            onLoginAutofilled={() => null}
          />
        ));
        // There is an input element with an ID of 'login-form_password-field'
        const passwordField = wrapper.find('#login-form_password-field');
        expect(passwordField.props().value).toEqual(inputPassword);
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多