我有一个组织,它有大约 530 个测试类。我目前正在开发一个 nodejs 项目,该项目使用 sfdx 命令在组织中运行测试,然后生成代码覆盖率报告,分析和分类它们,以便我可以使用分类数据查找哪些测试类/方法涵盖了哪些顶级类行。
由于测试类的数量非常大,如果记录超过 10K,salesforce 会删除覆盖率数据(这是因为类、触发器和测试类的数量如此之多),我试图实现要运行的批量测试。
假设该批次由 Test_1、Test_2、.....、Test_10 组成。我正在使用的命令如下所示。
sfdx force:apex:test:run --codecoverage -r json --classnames "Test_1,Test_2,.....,Test_10" -u testOrg --outputdir path/to/folder
这里的问题是
- command 会阻止脚本,直到测试完成并计算整体覆盖率。
- 完成后不返回 testRunId。
- 每次后续运行时,先前的测试覆盖率数据也包含在不需要的输出中。
无论如何运行命令,以便仅为批处理中包含的测试提供覆盖率数据?