Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 用笑话回应用户体验测试(模拟)_Reactjs_Jestjs - Fatal编程技术网

Reactjs 用笑话回应用户体验测试(模拟)

Reactjs 用笑话回应用户体验测试(模拟),reactjs,jestjs,Reactjs,Jestjs,请告诉我如何测试。作为链接函数订阅。在上: 在组件中: store.on('event').subscribe(val => { ... }); 测试: const mockStore={ 获取:()=>null, 集合:()=>{}, on:()=>jest.fn(), }; 描述('测试',()=>{ 常量包装器=浅(); 它('应该呈现',()=>{ expect(wrapper.exists()).toBe(true); }); }); 开始工作 有人能帮帮我吗?我还没

请告诉我如何测试。作为链接函数订阅。在上:

在组件中:

store.on('event').subscribe(val => {
    ...
});
测试:

const mockStore={
获取:()=>null,
集合:()=>{},
on:()=>jest.fn(),
};
描述('测试',()=>{
常量包装器=浅();
它('应该呈现',()=>{
expect(wrapper.exists()).toBe(true);
});
});
开始工作


有人能帮帮我吗?

我还没有测试过这个,但我认为下面的方法应该有效:

您可以返回一个包含
subscribe
函数的对象,而不是使用
jest.fn()
模拟
函数。像这样:

const mockStore = {
    get: () => null,
    set: () => {},
    on: (eventStr) => ({
        subscribe: jest.fn(),
    }),
};
const subscribeSpy = jest.spyOn(mockStore.on('event'), 'subscribe');
然后在需要时调用它

expect(subscribeSpy).toHaveBeenCalled();
expect(subscribeSpy).toHaveBeenCalled();