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

时间:2015-03-06 23:18:41

标签: node.js express mocha supertest

我正在运行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()是为了检查数组中是否存在元素,所以假定这可能不起作用。

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

1 个答案:

答案 0 :(得分:6)

您是否尝试使用match - 断言,例如:

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