Jest: [Вопрос] Подходит ли Jest для модульных тестов серверной части?

Созданный на 4 авг. 2016  ·  3Комментарии  ·  Источник: facebook/jest

До сих пор мне нравился Jest, тестирующий компоненты React.

Я использовал / использовал Mocha / Jasmine для тестирования серверных модулей узлов, и я просто хотел спросить, можно ли (и рекомендовал) использовать Jest для тестирования серверов, поскольку я не нашел никаких указаний на это в документации (React , React-Native, Async, Webpack, т.е. нет Node )

Я просто попробовал его использовать, и, к сожалению, сразу же наткнулся на препятствие. brcypt вызывает предупреждение [SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random() и тест не проходит из-за ошибки времени выполнения ( TypeError: Path must be a string. Received undefined )

Можно ли прямо сейчас использовать Jest для тестирования серверной части или это не входит в объем проекта, и что-то вроде Jasmine лучше подходит?

Самый полезный комментарий

Какое бэкэнд-тестирование вы пытаетесь провести? Сам Jest использует Jest для тестов, а множество библиотек используют Jest для тестирования. Можете ли вы предоставить репозиторий на github, который я могу использовать для npm install и npm test который показывает вашу проблему?

Я рекомендую две вещи: попробуйте установить "automock": false и "testEnvironment": "node" . Если другие ваши тесты полагаются на это, вы можете создать отдельную конфигурацию Jest и запустить jest с --config=pathToConfig.json и использовать modulePathIgnorePatterns чтобы игнорировать тесты внешнего интерфейса.

Все 3 Комментарий

Какое бэкэнд-тестирование вы пытаетесь провести? Сам Jest использует Jest для тестов, а множество библиотек используют Jest для тестирования. Можете ли вы предоставить репозиторий на github, который я могу использовать для npm install и npm test который показывает вашу проблему?

Я рекомендую две вещи: попробуйте установить "automock": false и "testEnvironment": "node" . Если другие ваши тесты полагаются на это, вы можете создать отдельную конфигурацию Jest и запустить jest с --config=pathToConfig.json и использовать modulePathIgnorePatterns чтобы игнорировать тесты внешнего интерфейса.

Спасибо за быстрый ответ @cpojer!

Рад слышать, что Jest можно использовать с Node! Я думал, что так и будет, поскольку это, по сути, библиотека для тестирования, и API должен просто работать, но чувствовал необходимость спросить об этом, тем более что в Интернете почти нет ресурсов, показывающих, что он используется с бэкэндами Node и в основном с реакцией (или моим Google-Fu просто было недостаточно).

Я уже издевался над своим node_modules так что это было не так, но testEnvironment: node сделал свое дело!

Ваше здоровье!

Да, среда по умолчанию ( jsdom ) не всегда хорошо поддается тестированию узлов. Еще одно преимущество заключается в том, что узел env будет загружаться на 500 мс быстрее (фактически мгновенно), потому что jsdom немного медленный.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги