背景:
我目前正在使用bs-jest进行单元测试。另外,我正在使用bsb init项目,这意味着我首先使用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在默认情况下运行和工作。
任何帮助都不仅仅是值得赞赏的。谢谢。
答案 0 :(得分:0)
我在两个项目中都使用了bs-jest,因为它们不喜欢在' Iterate the sumRange union and add each Area to our formula string
formula = "=Sum("
For Each thisArea In sumRange.Areas
formula = formula & thisArea.Address & ","
Next
formula = Left(formula, Len(formula) - 1)
formula = formula & ")"
根目录下进行测试。您需要调整玩笑的运行方式才能运行测试并收集覆盖率。通常,您只需要添加__tests__
并指定目录,例如:
src/test
答案 1 :(得分:0)
您可以在package.json
中自定义测试文件的路径,例如:
...
"scripts": {
"test": "jest",
"watch:test": "jest --watchAll",
},
...
"jest": {
"verbose": true,
"testEnvironment": "jsdom",
"testMatch": [
"**/tests_jest/*.{js,re}",
"**/tests_jest_blablabla/*.{js,re}"
]
}
答案 2 :(得分:-1)
这与在bsconfig.json中将您的包标记为dev的事实有关。这意味着它无法在非开发源中获取,例如您的src文件夹。通过将其移动到常规依赖项,它将按预期工作。
话虽如此,由于编译原因,现在您可以理解为什么它在其自己的文件夹中的架构。