Reason / Bucklescript + bs-jest: Как скомпилировать файлы с шаблоном * .test.re вне папки __tests__? - PullRequest
0 голосов
/ 10 мая 2018

Справочная информация:

В настоящее время я использую bs-jest для модульного тестирования. Кроме того, я использую проект инициализации bsb. Это означает, что я сначала компилирую файлы с использованием Reason / Bucklescript +, а затем запускаю скомпилированные файлы с помощью Webpack.

Jest по умолчанию подберет файлы, в которых есть слово test, например component.test.js, по умолчанию будет подхвачен Jest.

Bs-jest будет работать по умолчанию, а файлы помещаются в каталог __tests__. Однако мои файлы спецификаций по шаблону *.test.re, помещенные в мою папку компонентов, т.е. помещенную в папку, отличную от __tests__, не будут компилироваться в соответствующий файл *test.js.

Цель:

Компиляция:

├── Components
|   ├── toolbar
|   |   └── toolbar.re
|   |   └── toolbar.test.re

Кому:

├── Components
|   ├── toolbar
|   |   └── toolbar.bs.js
|   |   └── toolbar.test.bs.js

, а затем запустите Jest и работайте так, как он работает по умолчанию.

Любая помощь более чем ценится. Спасибо.

Ответы [ 2 ]

0 голосов
/ 22 августа 2018

Я использовал bs-jest в двух проектах, где тесты не проводились в корневом каталоге __tests__, так как я предпочитаю использовать src/test. Вам нужно настроить способ запуска Jest, чтобы запустить тесты и собрать покрытие. Как правило, вам просто нужно добавить --env=jsdom и указать каталог, например:

"test": "jest --env=jsdom --testMatch='**/test/*test.{js, re}' --watch"

Пример package.json и другой пример

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

Это связано с тем, что в вашем bsconfig.json ваш пакет помечен как dev. Это означает, что его нельзя будет найти в источниках, отличных от dev, таких как ваша папка src. Переместив его в обычную зависимость, он будет работать как положено.

При этом теперь вы можете понять архитектуру, возможно, почему она находится в своей собственной папке из-за причин компиляции.

...