【发布时间】:2020-08-15 00:19:11
【问题描述】:
我有一个功能性反应组件,我想在酶单元测试中更改组件内部的属性值(在我的例子中是 ready 属性)。单元测试应使用shallow 以避免渲染任何子组件。
这里是简化的组件代码:
import {useTranslation} from 'react-i18next';
// ...
const MyComponent: React.FC<IProps> = (props: IProps) => {
const {t, ready} = useTranslation('my-translation-namespace');
// ...
return (
<React.Fragment>
{ready &&
<div className="my-component">some more content...</div>
}
</React.Fragment>)
};
export default MyComponent;
这是相应的测试:
describe('MyComponent', () => {
let component: ShallowWrapper;
it('should be displayed', () => {
component = shallow(<MyComponent/>);
// HERE I WOULD LIKE TO SET: component.ready = true
expect(component.find('.my-component').length).toBe(1);
});
});
知道如何在我的测试中将 ready 属性更改为 true 吗?
【问题讨论】:
标签: reactjs typescript enzyme