Как проверить пост-запросы с помощью NodeUnit и Express?
Вопрос
Я пишу простую службу отдыха в node.js (просто экспериментируя), пытаясь выяснить, достаточно ли узел. Я также использую NodeUnit для моего модульного тестирования.
Теперь NodeUnit прекрасно работает в качестве структуры тестирования для тестирования get-requests, используя Httputils, однако, тестирование пост-запросов не кажется очевидным.
Тестирование выглядит так:
exports.testHelloWorld = function(test) {
test.expect(1);
httputil(app.cgi(), function(server, client) {
client.fetch('GET', '/', {}, function (resp) {
test.equals('hello world'), resp.body);
test.done();
});
});
}
Но как мне проверить пост-запросы? Я могу изменить «получить» на «post» и попытаться написать что -то «клиенту», однако это не работает раньше. И это также не работает в функции обратного вызова.
Я заглянул в код NodeUnit, и, похоже, в настоящее время не поддерживает публикацию данных. Итак, вот мои вопросы:
- Что нужно, чтобы проверить пост-запросы?
- Должен ли я даже проверить пост-запросы в модульном тесте, или это подпадает под тест интеграции, и я должен использовать другой подход?
Решение
Вы можете попробовать эту библиотеку вместо NodeUnit: https://github.com/masylum/testosterone
Он построен специально для тестирования веб -приложений через HTTP.
Другие советы
Я только что написал эту библиотеку для тестирования HTTP -серверов с NodeUnit: