如何测试我的 Express 应用程序的响应是否包含某些 HTML 标签/文本?

How can I test if my Express app's response contains certain HTML tags / text?

我正在 运行 连接 Express Node 服务器,并使用 Mocha 和 Supertest 来测试我的路由。

我希望能够测试我的其中一条 Express 路线的响应中是否存在某些文本,如下所示:

it('should display form text input', function(done) {
      request(app)
        .get('/')
        .end(function (err, res) {
          if (err) {
            return done(err);
          }
          res.text.should.include('class="text-input-wname');
          done();
        });
    });  

然而,当我运行这个测试时,我得到以下错误:

Uncaught TypeError: undefined is not a function

res.text 可以正常打印到控制台。我知道 should.include() 是为了检查数组中是否存在元素,所以假设这可能行不通。

但是解析响应正文以检查某些文本是否存在的正确方法是什么?

你用match断言试过吗,比如:

res.text.should.match(/class="text-input-wname/)