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”