Jasmine 设置为在单个目录下运行其规范。它未设置为从多个规范目录中查找和运行测试。
这是我的项目结构:
project root: /
package.json
spec
--> jasmine_examples
module_a
--> spec
module_b
--> spec
module_c
--> spec
如果我想从每个模块运行测试,我必须指定每个规范文件。
"spec_files": [
"module_a/spec/spec.js",
"module_b/spec/spec.js",
"module_c/spec/spec.js"
],
这允许我运行 jasmine
cli,但它不可扩展。一定会有更好的办法。我不想手动指定包含规范的每个模块。我希望在所有目录中递归搜索规范。
我只使用 JSDom 在 Node 上运行这些,没有 Karma 或任何 headless 浏览器。
最佳答案
如果您将 "spec_dir"
属性更改为带有双引号 ("") 的根目录,那么 Jasmine 将从根目录开始并遍历子目录。
问题是 node_modules 目录也将被包含在内。因此,您必须在 spec_files
中使用一个不太可能在其中找到的规范模式。我使用了 ["**/*.[sS]pec.js"]
这意味着将我的规范文件命名为 module_a.spec.js。
{
"spec_dir": "",
"spec_files": [
"**/*.[sS]pec.js"
],
"helpers": [
"helpers/**/*.js"
],
"stopSpecOnExpectationFailure": false,
"random": false
}
关于node.js - 如何跨多个测试目录运行 jasmine 规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46098429/