【发布时间】:2018-10-08 10:17:09
【问题描述】:
我是 React 单元测试的新手。我已经构建了一个渲染DataTable 的 React 组件,它将column names 和data 作为道具。我使用 Enzyme with Jest 编写了表格元素的单元测试,即PASSED。单元测试是
describe('Client Component Testing', () => {
let mountedClientComp;
const clientComp = () => {
if (!mountedClientComp) {
mountedClientComp = mount(
<ClientsTable/>
);
}
return mountedClientComp;
};
it('Client component renders a table', () => {
const table = clientComp();
table.setState({ temp: true });
table.update();
expect(table.exists('table')).toEqual(true);
});
});
但我不明白,如何为 DataTable 搜索字段、分页按钮、表格信息、表格长度、排序元素编写单元测试。
DataTable 通过将table html 标签带入DataTable 对象来操作DOM,并且由于table html 标签是在React 组件中编写的,因此对表格元素PASSED 进行单元测试。
但是为了测试 DataTable Search 输入字段,我发现 input 元素,它没有被写入并且将被动态附加,所以我不知道如何编写单元测试!?
如何为动态添加的元素编写单元测试?
问候 [Shashidhar]
【问题讨论】:
标签: jquery reactjs datatables jestjs enzyme