在我的React组件测试中,我像这样使用beforeEach
。
let component;
let configProp;
beforeEach(() => {
component = shallow(<MyComponent config={configProp} />);
});
现在,我想在测试中更改configProp
变量。像这样:
let component;
let configProp;
beforeEach(() => {
component = shallow(<MyComponent config={configProp} />);
});
// runs before beforeEach for the next test
beforeNext(() => {
const config_1 = {...};
configProp = config_1;
});
test('config_1', () => {
// component now has config=config_1
expect(component.find({config: config_1}).exists());
});
像这样可能吗?还是我们必须在每个测试中分别shallow(<MyComponent />)
?
现在,我正在使用it
块来更改下一个功能的配置。这是合法的吗?像这样:
it('changes configProp', () => {
const config_1 = {...};
configProp = config_1;
});
test('config_1', () => {
expect(component.find({config: config_1}).exists());
});
答案 0 :(得分:1)
您可以在测试中的组件上设置新的道具:
test('config_1', () => {
component.setProps({ config: configProp });
...
})