在测试使用Mobx存储的函数时模拟它的值,可以通过以下步骤实现:
mobx-react
和enzyme
。mobx.observable
函数创建一个模拟的Mobx存储对象,并设置初始值。例如,假设我们要测试一个计数器函数,可以创建一个名为counterStore
的Mobx存储对象:import { observable } from 'mobx';
const counterStore = observable({
count: 0,
});
counterStore
的函数increment()
,可以使用jest.fn()
创建一个模拟函数,并在函数内部访问counterStore
的值。例如:import { observer } from 'mobx-react';
const increment = jest.fn(() => {
counterStore.count += 1;
});
// 使用observer装饰器确保函数能够正确地响应Mobx存储的变化
@observer
class MyComponent extends React.Component {
render() {
return (
<div>
<button onClick={increment}>Increment</button>
<span>{counterStore.count}</span>
</div>
);
}
}
counterStore
的值是否符合预期。例如:import { mount } from 'enzyme';
describe('MyComponent', () => {
it('should increment counter on button click', () => {
const wrapper = mount(<MyComponent />);
const button = wrapper.find('button');
button.simulate('click');
expect(counterStore.count).toBe(1);
button.simulate('click');
expect(counterStore.count).toBe(2);
});
});
这样,我们就可以在测试中模拟使用Mobx存储的函数,并验证其行为是否符合预期。
腾讯云相关产品和产品介绍链接地址:
云+社区技术沙龙[第1期]
T-Day
腾讯云数据湖专题直播
Hello Serverless 来了
云+社区技术沙龙 [第31期]
云+社区技术沙龙[第17期]
云+社区技术沙龙[第9期]
DBTalk技术分享会
云+社区技术沙龙[第25期]
云+社区技术沙龙第33期
领取专属 10元无门槛券
手把手带您无忧上云