gpt4 book ai didi

node.js - 通过 npm 命令行测试

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:43 25 4
gpt4 key购买 nike

我有两种类型的测试套件 - 正常测试套件和覆盖率测试套件。

目前,我通过 npm test 允许其中之一,并通过 npm start 允许其中之一:

  "scripts": {
"test": "node scripts/run-truffle-tests.js",
"start": "node scripts/run-sol-coverage.js"
}

我有一种感觉,npm start 最初并不是为此目的而设计的。

有没有更好的方法来实现这个?

我正在考虑将参数传递给 npm test,但我不确定 npm 会将其传递给它设置为调用的脚本。

最佳答案

添加更多脚本

我通常有用于实际、完整、单次运行的单元测试的测试,以便与 CI 和其他脚本一起进行变体:

{
"scripts": {
"test": "node scripts/run-truffle-tests.js && npm run test:coverage",
"test:continuous": "karma start some.config --run-continuous",
"test:coverage": "node scripts/run-sol-coverage.js"
"start": "node index.js"
}
}

您还可以使用 && 链接命令,这将导致脚本按顺序运行,并且“总”错误代码将传播。换句话说,使用上面的测试将运行单元测试和覆盖率测试。如果其中任何一个返回非零退出代码,npm 将认为整个测试过程失败。

<小时/>

请记住,对于未准确命名的自定义脚本 starttest 以及此处文档中找到的其他指定脚本:npm#scripts ,必须使用

运行
npm run scriptname

而不仅仅是

npm scriptname

因此,在上面的示例中,您可以使用以下方法测试覆盖范围:

npm run test:coverage

此外,: 只是一种约定。据我所知,这并不特别。

<小时/>

此外,您可以

pass [argument] on to the script which it is set to invoke

每当使用npm test时,基本上发生的事情是npmpackage.jsonscripts.test中设置的任何字符串值作为一个进程运行,就像您自己将该字符串输入到shell中一样。然后它查看返回码,如果为 0,则报告一切正常;如果为 0,则报告一切正常;如果它非零,则打印错误。

关于node.js - 通过 npm 命令行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50766581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com