【发布时间】: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