Как я могу макет IP-адрес для модульных тестов в Express JS - PullRequest
0 голосов
/ 11 марта 2019

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

const ipValidator = (req, res, next) => {
  let ip = req.connection.remoteAddress

  const MOCK = req.app.get('MOCK')
  if (MOCK && MOCK.IP) {
    ip = MOCK.IP
  }

  if (isUsIp(ip)) {
    next()
    return
  }

  res.end()
}

1 Ответ

0 голосов
/ 11 марта 2019

Вместо того, чтобы выставлять макет прямо в коде, манипулируйте req.connection.remoteAddress в модульном тесте напрямую.Таким образом, вы можете удалить вызов req.app.get('MOCK') из вашего маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...