[ npm cli ] 如何把单元测试的配置放进 cli?

发布于 2022-09-11 16:58:00 字数 1072 浏览 21 评论 0

想在项目下用 cli 去做单元测试

项目下什么配置文件都没有,只有入口及 xxx.test.js 这样的文件,我希望在项目根目录下执行 cli test,用 cli 中的配置来跑测试单元,而不是又在项目中把测试的配置写一遍

去看了 create-react-app 及比较大的 cli 项目,但看得云里雾里的,完全不知道从哪到哪...

现在能想到的就是在执行 test 的时候,把配置文件复制到项目下,然后加进 ignore 里,但总觉得不是很舒服...

相关代码

#!/usr/bin/env node

const { spawn } = require('child_process');
const path = require('path');

function runCmd(cmd, args, callback) {
  args = args || [];
  const ls = spawn(cmd, args, {
    // keep color
    stdio: 'inherit',
  });
  ls.on('close', code => {
    callback && callback(code);
  });
}

// jest --config jest.js --verbose=false
const jestBin = require.resolve('jest/bin/jest');
// 其实还是这里不懂该怎么写路径,cwd 是根据项目路径来的,但这样就获取不到 cli 的配置了
// 用 __dirname 刚好跟上面的情况相反,就很难受
const jestConfig = path.join(process.cwd(), '/scripts/jest.js');
const args = [
  jestBin,
  '--config',
  jestConfig,
  '--verbose=false',
];
runCmd('node', args);

这里希望执行的命令是 jest --config jest.js --verbose=false

希望给个思路或关键字

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文