Как я могу проверить, содержит ли ответ моего приложения Express определенные HTML-теги / текст?

Я использую сервер Express Node и использую Mocha и Supertest для проверки своих маршрутов.

Я хотел бы иметь возможность проверить наличие определенного текста в ответе для одного из моих экспресс-маршрутов, например:

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 ответ

Решение

Вы пробовали это с matchутверждение, как:

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

Другие вопросы по тегам