云效自定义步骤时,红线检测有问题,怎么解决?[阿里云云效]

云效自定义步骤时,红线检测有问题,怎么解决?我现在设置的是覆盖率大于等于60通过,实际覆盖率71.4,没有通过




红线的key我看也是能对上的,麻烦帮忙看下是哪里的问题

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 在云效自定义步骤时遇到红线检测问题,可能是由于多种原因造成的。以下是一些可能的解决方案:

    1. 检查你的代码是否符合红线检测的要求。对于每个红线检测项,都有详细的描述和示例,以帮助你理解它们的具体要求。
    2. 确保你的代码风格一致。不一致的代码风格可能会导致红线检测出现问题。
    3. 如果你正在使用第三方库,确保它们也符合红线检测的要求。
    4. 使用最新的红线检测插件。有些旧版的插件可能无法正确检测出问题。
    5. 如果以上所有方法都无法解决问题,你可以考虑联系云效的技术支持团队寻求帮助。
  2. 根据您的描述,您在云效自定义步骤中设置了覆盖率大于等于60通过,但实际覆盖率为71.4时仍然没有通过。红线检测的问题可能与以下因素有关:

    1. 检查您的代码覆盖率报告是否正确生成并上传到云效中。确保您已经正确配置了代码覆盖率工具,并且生成的报告可以被云效识别和解析。

    2. 确认您的代码覆盖率报告中的覆盖率数据是否准确。您可以使用其他工具或手动检查代码来验证覆盖率数据的准确性。如果发现覆盖率数据有误,请修复代码以确保正确的覆盖率数据被生成。

    3. 检查您的自定义步骤中的红线检测规则是否正确设置。确保您已经正确地指定了要检测的代码文件、函数或行,并且设置了正确的阈值条件。如果您的规则设置正确,但仍然无法通过红线检测,可能是由于其他原因导致的。

  3. 您在推送这个步骤的本地看一下,应该有一个 .step/readline.sh的脚本,里面有这个只能比较整数,是这里的问题,这个文件得改一下
    可以改一下这三行判断的写法:
    if [ echo "$2 > $threshold" | bc -eq 1 ];then echo true; else echo false; fi
    if [ echo "$2 == $threshold" | bc -eq 1 ];then echo true; else echo false; fi
    if [ echo "$2 < $threshold" | bc -eq 1 ];then echo true; else echo false; fi 此回答整理自钉群“云效交付域答疑群”