В настоящее время я пишу несколько тестов с использованием ленты для библиотеки HTTP-запросов. Я запускаю HttpServer с URL 'http://localhost: 3000 ' и запускаю для него запрос GET. Тем не менее я получаю сообщение об ошибке: ReqiError: Ошибка: подключить ECONNREFUSED 127.0.0.1:3000. Это заставляет меня думать, что сервер недоступен при запуске теста. Однако я попытался выполнить оператор console.log на объекте сервера, и он, похоже, выполняется. Кто-нибудь сталкивался с этой проблемой раньше, или понимает, почему мой код не работает должным образом?
Вот мой тестовый файл client-integration-tests.js
:
'use strict'
const tape = require('tape')
const ReqiClient = require('../../lib/client')
const http = require('http')
let server
tape('setup', function(t) {
server = http.createServer()
server.on('request', (req, res) => {
res.writeHead(200)
req.pipe(res)
})
server.listen(3000, () => {
server.url = 'http://localhost:' + server.address().port
t.end()
})
})
tape('A request should return success status code', function(t) {
const client = new ReqiClient()
const requestOptions = {url: server.url, method: 'GET'}
console.log(server)
const request = client.request(requestOptions).then((response) => {
t.equal(200, response.statusCode)
}).catch((error) => {
t.fail(error)
})
t.end()
})
tape('cleanup', function (t) {
server.close(t.end)
})
А вот вывод при запуске node client-integration-tests.js
not ok 1 ReqiError: Error: connect ECONNREFUSED 127.0.0.1:3000
---
operator: fail
stack: |-
Error: ReqiError: Error: connect ECONNREFUSED 127.0.0.1:3000
at Test.assert [as _assert] (/home/tlaskey/Desktop/node/reqi/node_modules/tape/lib/test.js:228:54)
at Test.bound [as _assert] (/home/tlaskey/Desktop/node/reqi/node_modules/tape/lib/test.js:80:32)
at Test.fail (/home/tlaskey/Desktop/node/reqi/node_modules/tape/lib/test.js:322:10)
at Test.bound [as fail] (/home/tlaskey/Desktop/node/reqi/node_modules/tape/lib/test.js:80:32)
at /home/tlaskey/Desktop/node/reqi/tests/integration/client-integration-tests.js:26:11
at processTicksAndRejections (internal/process/task_queues.js:97:5)