我正在我的公司重构一个后端,我尽可能地模块化它。我的结构可以定义为由几个本地子模块和一个或两个需要它们的主要模块(子模块)组成的单一参数。让我们来说明一下:
如您所见,每个模块都有自己的测试,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
答案 0 :(得分:0)
我建议让submoduleA和submoduleB独立的节点模块,然后你可以在需要时安装和使用主模块。通过这种方式,您可以单独测试每个部件,然后将它们放在一起,这样可以产生相同的结果,并使您能够更轻松地运行测试。