Jasmine节点CLI:指定文件匹配参数
我正在尝试执行节点jasmine测试的一个子集 我有一个项目结构如下Jasmine节点CLI:指定文件匹配参数,jasmine,jasmine-node,Jasmine,Jasmine Node,我正在尝试执行节点jasmine测试的一个子集 我有一个项目结构如下 root + server + invite +specs inviteSendSpec.js inviteConfirmSpec.js .. many more spec files + auth +specs .. many spec files 我可以通过运行以下命令从根目录执行所有测试: node-jasmin
root
+ server
+ invite
+specs
inviteSendSpec.js
inviteConfirmSpec.js
.. many more spec files
+ auth
+specs
.. many spec files
我可以通过运行以下命令从根目录执行所有测试:
node-jasmine --verbose server/
我试图弄清楚如何使用-m参数,这样我就可以运行与特定文件名模式匹配的测试
e、 g
根据我找到的几个例子,应该运行所有包含invite的测试。但它只找到一个测试
如果我尝试运行类似的变体,例如
它将找不到任何测试
选择测试子集的正确语法是什么
p、 我运行的是jasmine node 11.1.0(因此它不是walkdir问题)您的文件名正确无误 从文件中 注意:您的规范文件必须命名为*spec.js、*spec.coffee 或*spec.litcoffee,它与正则表达式匹配 /规格(js | coffee | litcoffee)$/i;否则将找不到jasmine节点 他们!例如,sampleSpec.js是错误的,sampleSpec.js是正确的 您只需运行“孔”文件夹: 节点jasmine——详细服务器/invite/specs/ 节点jasmine--verbose server/auth/specs/-m或--match参数确实用于文件名匹配 我在键盘上敲了几个小时,最后查看了cli.js的源代码 这是票证(cli.js,第228行): 啊哈 首先,必须指定--matchall键,否则它将使用默认的“spec”前缀 其次,您无法指定扩展,如果您使用--coffee命令行参数,它们要么是js,要么是js | coffee | litcoffee 我的测试文件有unit.js后缀(不要问为什么),所以我最终得到了
cli.js --verbose --matchall --match unit\. --test-dir C:\MyProject\
它成功了
node-jasmine --verbose -m send server/
var regExpSpec = new RegExp(match + (matchall ? "" : "spec\\.") + "(" + extensions + ")$", 'i')
cli.js --verbose --matchall --match unit\. --test-dir C:\MyProject\