我正在使用 jest 和酶来测试我的组件。如果我有以下类组件
chmod 755 resign-ios-app
然后为此编写测试,我将使用:
./resign-ios-app 'olderIpaFileName.ipa' 'newProvisioningProfileFileName.mobileprovision' 'Apple Distribution: TeamName (teamID)'
但是如果我的组件正常运行,那么我会收到错误 - import React, { Component } from "react";
export class Test extends Component {
state = {
isLoading: false,
};
onClick = () => {
this.setState({ isLoading: true });
};
render() {
return (
<div>
<button onClick={this.onClick}>Click button</button>
</div>
);
}
}
export default Test;
当我运行测试时。
如何测试我的功能组件状态?
答案 0 :(得分:0)
shallow
包装器不支持为功能组件提供状态的钩子。您可以使用 Enzyme 的 mount
包装器,也可以改用 React Testing Library,这对于现代 React 来说比 Enzyme 更好。
请注意,mount
可以呈现有状态的功能组件,但不能访问状态。这些将失败:
mount(<Test/>).setState();
mount(<Test/>).state();