Как я могу проверить, содержит ли ответ моего приложения 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/)