Jest Тестовые случаи не работают для nodejs контроллера - PullRequest
0 голосов
/ 04 апреля 2020

Когда я объявляю контроллер в node js, как показано ниже, все тестовые случаи работают нормально.

 module.exports = (req,res) => {
    //code here 
  }

Я получаю доступ к вышеуказанному контроллеру, как показано ниже в моем файле теста:

    const controller = require('filename')
    controller(req,res);

Однако, когда я объявляю тот же контроллер в node js, как показано ниже во всех тестах дела становятся неудачными.

const getController = (req,res) => {
//Code here 
}
module.exports = { getController }

Я получаю доступ к вышеуказанному контроллеру, как показано ниже в моем файле теста:

const {getController } = require('filename');
getController (req,res);

Может кто-нибудь, пожалуйста, скажите мне, что здесь происходит.

1 Ответ

1 голос
/ 04 апреля 2020

Это не работает, потому что ваш синтаксис неправильный.

Используйте:

module.exports = { getController : getController }

и используйте его двумя способами:

  1. import {getController} from 'filename';
  2. const getController = require('filename').getController

Когда вы используете require, вам требуется модуль, а не функция модуля. Когда вы используете import, вы импортируете функции из модуля.

Вы можете прочитать здесь о различиях между require и import

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