如何测试呼叫后添加的HTML元素?

时间:2018-01-13 16:43:39

标签: javascript node.js chai

我有这段HT​​ML(index.html):

<table id="myTable">
  <thead>
    <th>&nbsp;</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元素

0 个答案:

没有答案