Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing sfdx force:apex:test:run include仅覆盖sfdx命令中包含的那些测试_Unit Testing_Salesforce_Apex_Sfdc_Salesforce Developer - Fatal编程技术网

Unit testing sfdx force:apex:test:run include仅覆盖sfdx命令中包含的那些测试

Unit testing sfdx force:apex:test:run include仅覆盖sfdx命令中包含的那些测试,unit-testing,salesforce,apex,sfdc,salesforce-developer,Unit Testing,Salesforce,Apex,Sfdc,Salesforce Developer,我有一个组织,大约有530个测试类。我目前正在一个nodejs项目中工作,该项目使用sfdx命令在组织中运行测试,然后生成代码覆盖率报告,对它们进行分析和分类,以便我可以使用分类数据找到哪些测试类/方法覆盖了哪些apex类行 由于测试类的数量非常大,而且salesforce会在记录超过10K时删除覆盖率数据(这是由于类、触发器和测试类的数量如此之多),因此我尝试实现要运行的批量测试 假设该批次包括测试_1、测试_2、…、测试_10。 下面给出了我正在使用的命令 sfdx force:apex:t

我有一个组织,大约有530个测试类。我目前正在一个nodejs项目中工作,该项目使用sfdx命令在组织中运行测试,然后生成代码覆盖率报告,对它们进行分析和分类,以便我可以使用分类数据找到哪些测试类/方法覆盖了哪些apex类行

由于测试类的数量非常大,而且salesforce会在记录超过10K时删除覆盖率数据(这是由于类、触发器和测试类的数量如此之多),因此我尝试实现要运行的批量测试

假设该批次包括测试_1、测试_2、…、测试_10。 下面给出了我正在使用的命令

sfdx force:apex:test:run --codecoverage -r json --classnames "Test_1,Test_2,.....,Test_10" -u testOrg --outputdir path/to/folder
这里的问题是

  • 命令将阻止脚本,直到测试完成并计算总覆盖率
  • 完成后,不会返回testRunId
  • 在每次后续运行中,以前的测试覆盖率数据也包含在输出中,这是不需要的

  • 是否仍要运行该命令,以便仅为批处理中包含的测试提供覆盖率数据?

    尝试将其分离为多个命令,通过这种方式您将获得什么

  • 每次为小单位锁定脚本
  • 测试结果可以单独存储和分析
  • 3。输出中不包括以前的测试覆盖率数据。每个命令都计算其测试代码覆盖率

     sfdx force:apex:test:run --codecoverage -r json --classnames "Test_1" -u testOrg --outputdir path/to/folder/Test_1
    
    sfdx force:apex:test:run --codecoverage -r json --classnames "Test_2" -u testOrg --outputdir path/to/folder/Test_2
    
    sfdx force:apex:test:run --codecoverage -r json --classnames "Test_10" -u testOrg --outputdir path/to/folder/Test_10
    
    对于#3,您如何执行此命令?在cicd?如果是哪一个,我有一个CICD,我们在其中存储特定运行的人工制品,所以下一个运行将提供新数据,旧数据存储在wrt旧管道中