SonarQube 抛出“用固定值替换随机生成的值”。测试方法

Posted

技术标签:

【中文标题】SonarQube 抛出“用固定值替换随机生成的值”。测试方法【英文标题】:SonarQube throws "Replace randomly generated values with fixed ones." for Test methods 【发布时间】:2021-12-27 07:09:34 【问题描述】:

我在我的测试方法中使用随机的UUID 值并得到“用固定值替换随机生成的值。” 管道后错误。我不确定提供固定的 UUID 值是否是个好主意。那么,我应该如何在我的测试方法中正确创建 UUID 变量?

@Test
public void test() 
    final UUID uuid = UUID.randomUUID();
    demoService.update(demoRequest, uuid);

【问题讨论】:

随机值会导致测试每次都发生变化。假设您的测试因“演示 HHH12335 的 id 无效”或类似内容而失败。你将如何诊断和重建?根据您要测试的内容,UUID 为 00..-..-..00 或任何将使您的测试deterministc 那么,我应该使用什么?您解释了除了答案之外的所有内容。 UUID uuid = UUID.fromString("0000-00-00-00-000000") 呢? @BoristheSpider Chico?请问有什么回复吗? 【参考方案1】:

首先,我想问一下您需要 UUID 做什么?你在测试什么? 是数据库PK吗?你是从一个空的数据库开始的吗?

如果你使用随机的 UUID,你如何检索对象以供以后测试?

【讨论】:

我使用单元测试,因此它并不那么重要,我只想知道我应该如何为单元测试正确创建 uuid 变量和值。我创造长期价值,例如``123L`,那么我想我应该以同样的方式创建 uuid 值。有什么想法吗? UUID uuid = UUID.fromString("0000-00-00-00-000000") 呢? 奇科?请问有什么回复吗? 如果您的问题只是“如何创建 uuid”?那么你的例子很好。 UUID 只是一个字符串。 我很困惑。因为我不确定UUID.fromString("0000-00-00-00-000000")UUID.fromString("00000000-0000-0000-0000-000000000001") 是否更正确?第一个数字少

以上是关于SonarQube 抛出“用固定值替换随机生成的值”。测试方法的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube Runner 在分析期间抛出 NullPointerException

通过 jenkins 运行 SonarQube 分析,为 Spark Scala 代码抛出 *** 错误

Sonarqube v.4 TFS 任务“发布分析结果”抛出错误“无法获取指标”

Sonarqube v.4.3.0 VSTS 任务“发布分析结果”抛出错误“无法获取指标”(404)

Sonarqube v.4 TFS 任务“Publish Quality Gate Result”抛出错误“Could not fetch task for ID”

SonarQube Azure Devops 未授权