Eri*_*k B 3 javascript bash mocha.js filepattern
我将测试分组在文件夹中,如下所示:
\n\ntest/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 unit/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 integration/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 acceptance/\nRun Code Online (Sandbox Code Playgroud)\n\n在上面的每个文件夹中,都有一些测试文件(例如test.js)
我使用以下命令执行不同的测试套件:
\n\nmocha test/unit/**/*.js\nmocha test/integration/**/*.js\nmocha test/acceptance/**/*.js\nRun Code Online (Sandbox Code Playgroud)\n\n我最近决定添加一个子文件夹test/unit,以稍微组织一下内容:
test/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unit/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 subfolder/\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 new.test.js\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo.test.js\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 bar.test.js\nRun Code Online (Sandbox Code Playgroud)\n\n但现在mocha只执行测试new.test.js。
我认为/**/*.js这意味着它会递归地在所有文件夹中查找.js文件,但这不是我看到的行为。这是我的错误还是误解?
通过将这些完全相同的模式用引号引起来,mocha将解析这些模式,而不是bash:
"scripts": {
"test:unit": "mocha \"test/unit/**/*.js\""
}
Run Code Online (Sandbox Code Playgroud)
幸运的是,mocha按预期解析了该模式,并将递归查找.js中的所有文件test/unit,包括任何级别的子文件夹。
TL;DR没有必要继续阅读,除非您尝试对 以外的其他内容执行类似的操作mocha。下面是我对 的bash文件模式匹配的了解:
如果没有引号,我当时无法使其在两个以上级别上工作:
mocha test/unit/**
Run Code Online (Sandbox Code Playgroud)
上面匹配所有文件test/unit以及第一级子文件夹,但这将匹配任何文件而不仅仅是.js
mocha test/unit/{,**/}*.js
Run Code Online (Sandbox Code Playgroud)
现在我们只匹配.js文件,但仍然只匹配test/unit第一级子文件夹。
| 归档时间: |
|
| 查看次数: |
1099 次 |
| 最近记录: |