在我的npm包中,我想模拟流星遵循的模式:源文件(名为client.js)client.tests.js在src/文件夹中有一个测试文件(名为)。使用npm test命令运行测试。
client.js
client.tests.js
src/
npm test
我正在将用法文档放在“ t”后面。我不想find在我的包测试命令中使用。
find
摩卡-递归
--recursive
mocha src-递归
*.tests.js
摩卡* .tests.js
但是,我要全部三个。我希望mocha仅测试tests.js以src文件夹结尾的文件,并递归检查子目录。
tests.js
mocha --recursive *.tests.js // See the files? $ > ll ./src/app/ total 168 -rw-r--r-- ... client.js -rw-r--r-- ... client.tests.js // Option A $ > mocha --recursive *.tests.js Warning: Could not find any test files matching pattern: *.tests.js No test files found // Option B $ > mocha *.tests.js --recursive Warning: Could not find any test files matching pattern: *.tests.js No test files found. // Option C $ > mocha --recursive src/app/*.tests.js 3 passing (130ms) 3 failing
所以…
该--recursive标志用于对目录进行操作。如果要传递与目录匹配的glob,则将递归检查这些目录,但是,如果像您所做的那样,通过与文件匹配的glob,则--recursive无效。我建议不要--recursive与glob一起使用,因为glob已经具有在子目录中递归查找的功能。您可以这样做:
mocha 'src/app/**/*.tests.js'
这将与中*.tests.js递归匹配的所有文件匹配src/app。注意我如何在模式周围使用单引号。这是为了引用该模式,以便将其按原样传递给Mocha的全局代码。否则,您的外壳可能会解释它。根据选项的不同,某些外壳会转换**成*您不会获得所需结果的外壳。
src/app
**
*