【发布时间】:2018-06-20 06:17:12
【问题描述】:
我正在使用酶对反应组件进行单元测试。我使用的以前版本的酶允许我使用一个或多个节点访问子节点及其成员变量。现在我使用的新版本的酶让我使用getElement 函数来访问子组件。而getElement 不允许我直接访问一个或多个节点(不支持)。如何使用getElement设置子组件的成员变量?
【问题讨论】:
标签: reactjs unit-testing enzyme
我正在使用酶对反应组件进行单元测试。我使用的以前版本的酶允许我使用一个或多个节点访问子节点及其成员变量。现在我使用的新版本的酶让我使用getElement 函数来访问子组件。而getElement 不允许我直接访问一个或多个节点(不支持)。如何使用getElement设置子组件的成员变量?
【问题讨论】:
标签: reactjs unit-testing enzyme
您不必强制使用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);
});
});
【讨论】: