使用此脚本:
"test": "./node_modules/mocha/bin/mocha --recursive --require ts-node/register ./test/**/*.spec.ts --opts ./test/mocha.opts",
我尝试在树中加载一些测试文件:
.
├── controllers
│ ├── admin
│ │ └── users.spec.ts
│ ├── authentications.spec.ts
但是,users.spec.ts
测试文件不会加载,但authentications.spec.ts
会加载。
我的 mocha.opts 文件看起来像:
--timeout 5000
我也尝试删除--recursive
标志,只有一个球,但它不起作用。
我无法确定问题出在ts-node
还是mocha
?有什么想法吗?
看起来你也在这里问了这个问题,并得到了一个很好的答案:引用 glob 参数,以便它被 mocha 扩展(递归),而不是由 shell(非递归):
"test": "mocha --require ts-node/register 'test/**/*.spec.ts' --opts ./test/mocha.opts"
这里似乎确实存在一个错误,无论是在摩卡对--recursive
的处理中,还是与我不知道ts-node
的一些互动。
您可以通过告诉 mocha 使用以下命令专门查找嵌套更深的文件夹来解决此问题:
mocha --recursive --require ts-node/register ./test/**/*.spec.ts ./test/**/**/*.spec.ts --opts ./test/mocha.opts
例如,告诉它专门查找子(/**/
)和孙(/**/**/
)目录。
对我来说,问题实际上是我在测试中only