我是React Unit测试的新手。我已经构建了一个React组件,该组件渲染了一个DataTable,并以column names
和data
作为道具。我已经使用带有Jest的Enzyme(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]
答案 0 :(得分:0)
您可以在每个具有不同属性的测试用例中安装新的<ClientsTable>
,并在各个测试用例中找到所需的内容。