Admin on rest AOR-简单列表的单元测试

Admin on rest AOR-简单列表的单元测试,admin-on-rest,Admin On Rest,我正在使用aorv1.4.0并试图编写一个单元测试来测试一行简单列表的呈现。但控制台上不会以HTML import * as React from 'react'; import * as ReactDOM from 'react-dom'; import * as Renderer from 'react-test-renderer'; import { createStore } from 'redux'; import { Provider } from 'react-redux'; im

我正在使用aorv1.4.0并试图编写一个单元测试来测试一行简单列表的呈现。但控制台上不会以
HTML

import * as React from 'react';
import * as ReactDOM from 'react-dom';
import * as Renderer from 'react-test-renderer';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import {render, shallow, mount} from 'enzyme';
import {Datagrid, List, Admin, Resource} from 'admin-on-rest';
import {CategoryList} from '../Categories';


describe('Categories', ()=>{
    it('renders category list correctly', ()=>{

        const wrapper = mount(
                                <Admin title="Mock Admin Client"  restClient={ jest.fn().mockImplementation(()=>{
                                    return new Promise((res, rej)=>{
                                        res({
                                            total : 1,
                                            data: ()=>{
                                                return {
                                                    id: "0300b4cf-4888-4e73-b4e1-25cf4686e05c",
                                                    name: "cat2",
                                                    displaySequence: 121
                                                }
                                            }
                                        });
                                    });
                                })}>
                                    <Resource options={{ label: 'Categories' }} name="category" list={CategoryList}/>                                    
                                </Admin>
                             );

                            console.log(wrapper.html());//<-- does not log anything


    });
});
import*as React from'React';
从“react dom”导入*作为react dom;
从“反应测试渲染器”导入*作为渲染器;
从“redux”导入{createStore};
从'react redux'导入{Provider};
从“酶”导入{render,shall,mount};
从“rest上的管理员”导入{Datagrid,List,Admin,Resource};
从“../Categories”导入{categorilylist};
描述('类别',()=>{
它('正确呈现类别列表',()=>{
常量包装器=装入(
{
返回新承诺((res,rej)=>{
res({
总数:1,
数据:()=>{
返回{
id:“0300b4cf-4888-4e73-b4e1-25cf4686e05c”,
名称:“cat2”,
显示顺序:121
}
}
});
});
})}>
);
console.log(wrapper.html());//(
);
有人可以修改并建议如何使用
JEST
模拟restClient吗?我想这就是我要出错的地方


另外,是否有更好的方法来单独测试列表?

由于您的restClient是异步的,您必须等待下一个滴答声才能得到回报,请参见

为什么
数据
是restClient中的一个函数?它应该是一个对象数组。
export const CategoryList = (props: any) => (
  <List {...props}  perPage={50}>
    <Datagrid>
      <TextField source="id" />
      <TextField source="name" />
      <TextField source="displaySequence" />
      <EditButton/>
      <ShowButton/>
    </Datagrid>
  </List>
);