我有这段HTML(index.html):
<table id="myTable">
<thead>
<th> </th>
<th>Id</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</thead>
<tbody id="users">
</tbody>
</table>
<script src="bundle.js"></script>
通过执行API调用并添加到tbody
元素,脚本在应用启动时填充表格:
<tr>
<td><a href="#" data-id="${user.id}" class="deleteUser">Delete</a></td>
<td>${user.id}</td>
<td>${user.firstName}</td>
<td>${user.lastName}</td>
<td>${user.email}</td>
</tr>
我不知道该怎么做: 我如何测试已添加的行?因为,如果我这样做:
it('should have at least three rows', (done) => {
const index = fs.readFileSync('./src/index.html', "utf-8");
jsdom.env(index, function(err, window) {
const tbody = window.document.getElementById('users');
console.log("LOG:" , tbody.children.length);
expect(tbody.children.length).to.gte(3);
done();
window.close();
});
});
日志显示为0,因为在html文件中,tbody
元素没有子节点。
我应该如何测试生成的DOM?如何在填充后测试tbody
元素?