【问题标题】:Run lab test for all test subfolders对所有测试子文件夹运行实验室测试
【发布时间】:2017-03-29 12:50:35
【问题描述】:

我正在重构我公司的一个后端,并尽可能将其模块化。我的结构可以定义为由几个本地子模块和一个或两个需要它们的主要模块(子模块)组成的 monorepo。让我们来说明这一点:

  • 根
    • 主要
    • package.json
    • 使用 submoduleA 的东西
    • 使用 submoduleB 的东西
    • 测试
    • 模块
      • 子模块A
      • package.json
      • 代码
      • 测试
    • 子模块 B
      • package.json
      • 测试

如您所见,每个模块都有自己的测试、package.json 和依赖项。一切都在其中完美运行(例如,在模块的文件夹中运行npm test)。我正在使用lab 和code 进行测试。

我想要做的是进入项目的根目录,运行npm test 并运行所有子模块和主模块的所有测试。基本上可以一次性运行任意测试文件夹下的所有测试。

目前我发现的问题是: - 目前只有目标测试目录下的文件正在运行。我什至不知道如何一次运行所有测试。我的命令看起来像lab src/main/test --reporter console --threshold 100 --assert code

我现在正在做的是将所有测试放在同一个测试目录下,并对所有内容提出相关要求。这非常不方便,因为所有这些 ../../../some/away/path 要求和这些东西会使测试变得脆弱。

任何关于保持代码模块化以及能够一次运行所有测试的建议都将非常受欢迎。非常感谢。

我一周前在 hapijs 存储库上问过这个问题,所以如果你也想在那里回答也可以:https://github.com/hapijs/discuss/issues/397

【问题讨论】:

    标签: node.js unit-testing hapijs


    【解决方案1】:

    我建议制作 submoduleA 和 submoduleB 独立节点模块,然后您可以在需要时安装和使用主模块。这样,您可以单独测试每个部分,然后一起测试,这应该会产生相同的结果,并使您能够更轻松地运行测试。

    【讨论】:

    • 我有一些以这种方式工作的子模块,它们作为本地 npm 模块进行管理,实际上安装到 node_modules 文件夹中。他们有自己的测试文件夹,我可以单独测试每个。但是,我没有任何方法可以一次性测试整个事情。你能扩展第二部分吗?一起测试?
    • 通过测试顶级模块,您正在同时测试所有模块
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多