You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在宿主应用单元测试中同时运行本地包框架的单元测试

如何在宿主应用单元测试中一并运行本地框架包的测试

场景1:使用npm/yarn工作区(Monorepo模式)

如果你的项目采用Monorepo结构管理,借助npm或yarn的工作区功能可以轻松统一执行测试:

  • 在项目根目录的package.json中配置工作区,包含宿主应用和本地框架包的路径:
{
  "workspaces": [
    "./packages/host-app",
    "./packages/local-framework"
  ]
}
  • 在根目录执行测试命令,即可同时运行所有工作区的单元测试:
npm test
# 或 yarn test
  • 若需单独运行框架包的测试,可指定工作区:
npm test --workspaces=local-framework

场景2:手动扩展测试框架范围(以Jest为例)

未使用工作区的情况下,可直接修改宿主应用的Jest配置,将本地框架的测试文件纳入扫描范围:

  • 打开宿主应用的jest.config.js,修改roots或testMatch字段,添加本地框架的路径:
module.exports = {
  roots: [
    '<rootDir>/src', // 宿主应用测试根目录
    '../local-framework/src' // 本地框架测试根目录,路径需根据实际结构调整
  ],
  testMatch: [
    '**/__tests__/**/*.js',
    '**/?(*.)+(spec|test).js'
  ]
};
  • 运行宿主应用的测试命令时,Jest会自动扫描并执行本地框架的所有测试用例。

场景3:自定义脚本组合测试命令

如果上述方案不适用,可在宿主应用的package.json中编写组合脚本,串联或并行执行测试:

{
  "scripts": {
    "test": "cd ../local-framework && npm test && cd ../host-app && npm test",
    "test:parallel": "npm run test:framework & npm run test:host",
    "test:framework": "cd ../local-framework && npm test",
    "test:host": "npm test"
  }
}
  • 执行npm run test会按顺序先跑框架测试,再跑宿主应用测试;npm run test:parallel可实现并行执行(部分系统可能需要调整命令适配)。

关键注意事项

  • 确保本地框架的测试依赖已正确安装,可通过宿主应用package.json中的file:类型依赖关联框架包,保证依赖一致。
  • 若使用Mocha等其他测试框架,核心思路一致:要么扩展测试文件扫描路径,要么通过脚本组合命令实现批量执行。

内容的提问来源于stack exchange,提问作者Kaunteya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:46:02