node.js - 对所有测试子文件夹运行实验室测试

标签 node.js unit-testing hapi.js

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

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

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

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

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

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

任何有关保持代码模块化并能够立即运行所有测试的建议都将非常受欢迎。非常感谢。

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

最佳答案

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

关于node.js - 对所有测试子文件夹运行实验室测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40613221/

相关文章:

node.js - 使用 node 和 nvm 获取 ES6 功能

python - 为 Flask 应用程序单元测试设置(模拟)请求 header

java - 在 IntelliJ 中调试 Arquillian 测试

java - 如何为 SharedPreference 创建单元测试用例?

javascript - Joi 验证多个条件

node.js - 在 Meteor 中正确启用 filepicker.io 的安全性

node.js - 浏览器中未设置 Express session cookie

javascript - Node.js Socket.io ~ 连接时不起作用

javascript - 通过 Hapi.js 创建 cookie

node.js - 如何让 Istanbul 报告 Lab/Hapi.js 测试的覆盖范围?