До сих пор мне нравился 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
чтобы игнорировать тесты внешнего интерфейса.
Спасибо за быстрый ответ @cpojer!
Рад слышать, что Jest можно использовать с Node! Я думал, что так и будет, поскольку это, по сути, библиотека для тестирования, и API должен просто работать, но чувствовал необходимость спросить об этом, тем более что в Интернете почти нет ресурсов, показывающих, что он используется с бэкэндами Node и в основном с реакцией (или моим Google-Fu просто было недостаточно).
Я уже издевался над своим node_modules
так что это было не так, но testEnvironment: node
сделал свое дело!
Ваше здоровье!
Да, среда по умолчанию ( jsdom
) не всегда хорошо поддается тестированию узлов. Еще одно преимущество заключается в том, что узел env будет загружаться на 500 мс быстрее (фактически мгновенно), потому что jsdom немного медленный.
Самый полезный комментарий
Какое бэкэнд-тестирование вы пытаетесь провести? Сам Jest использует Jest для тестов, а множество библиотек используют Jest для тестирования. Можете ли вы предоставить репозиторий на github, который я могу использовать для
npm install
иnpm test
который показывает вашу проблему?Я рекомендую две вещи: попробуйте установить
"automock": false
и"testEnvironment": "node"
. Если другие ваши тесты полагаются на это, вы можете создать отдельную конфигурацию Jest и запустить jest с--config=pathToConfig.json
и использоватьmodulePathIgnorePatterns
чтобы игнорировать тесты внешнего интерфейса.