модульное тестирование контроллера node.js, который вызывает внешний API - PullRequest
0 голосов
/ 08 мая 2018

Как мне проверить модуль / функцию ниже, где он вызывает внешний API? Если я использую API, который больше не является модульным тестом, это интеграция вызовов или тестирование потока. Я знаю, что есть такая вещь, как mock api, но что она должна тестировать? Я ожидаю только 2 результата: провал или успех. Поскольку внешний API уже обрабатывает крайний случай (говорит, что имя param не указано), должен ли я проводить модульное тестирование на моей стороне?

const request = require('request')
import PATH from './config/somewhere'

export const createUser = async (req, res, next) => {
  try {
    response = await request.post(`${PATH}/api/user/create`, {form: {name: req.body.name}})
    res.json(response)
  } catch(err) {
    this.throw(err.message)
  }
}

1 Ответ

0 голосов
/ 08 мая 2018

См: https://github.com/node-nock/nock

Вы можете вызвать следующий код при инициализации тестов:

const nock = require('nock');

// ...

nock(`${PATH}/api/user`)
    .post('/create')
    .reply(200, { data: 'foo' });

// ...
// All calls to request from here will be intercepted by nock
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...