如何跨多个testing目录运行茉莉花规格
Jasmine被设置为在一个目录下运行它的规格。 它没有设置从多个spec目录查找和运行testing。 这是我的项目结构:
project root: / package.json spec --> jasmine_examples module_a --> spec module_b --> spec module_c --> spec
如果我想从每个模块运行testing,我必须指定每个spec文件。
"spec_files": [ "module_a/spec/spec.js", "module_b/spec/spec.js", "module_c/spec/spec.js" ],
这允许我运行jasmine
cli,但它不是可扩展的。 一定会有更好的办法。 我不想手动指定每个包含规范的模块。 我想所有的目录recursionsearch规格。
我只使用JSDom运行这些节点,没有噶或任何无头浏览器。
如果你用双引号(“”)把你的"spec_dir"
属性改为根目录,那么Jasmine将从根目录开始并遍历子目录。
接下来的问题是node_modules目录也会被包含。 所以你必须在spec_files
中使用一个不太可能在spec_files
中find的spec模式。 我用["**/*.[sS]pec.js"]
这意味着命名我的规格文件module_a.spec.js。
{ "spec_dir": "", "spec_files": [ "**/*.[sS]pec.js" ], "helpers": [ "helpers/**/*.js" ], "stopSpecOnExpectationFailure": false, "random": false }
您也可以从您的源代码根目录(可能是src /)分离您的spec文件来testing/使用等效的文件夹结构:
project root: / package.json spec --> jasmine_examples src/ module_a module_b module_c test/ module_a module_b module_c
然后在你的茉莉花configuration定义规格文件,如:
"spec_files": [ "test/**/*.spec.js" ],