当前位置: 首页 > 面试题库 >

如何测试有效的UUID / GUID?

万浩淼
2023-03-14
问题内容

如何检查变量是否包含有效的UUID / GUID标识符?

我目前仅对验证类型1和4感兴趣,但这不应该限制您的答案。


问题答案:

当前,UUID是在RFC4122中指定的。一个经常被忽略的边缘情况是NIL
UUID,以下正则表达式考虑到了这一点,并将返回NILUUID的匹配项。请参阅以下有关仅接受非NILUUID的UUID。这两种解决方案均适用于版本1至5(请参见第三个模块的第一个字符)。

因此,要验证UUID …

/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i

…确保您拥有规范版本1至5的规范UUID,并且是RFC4122的适当变体。

注意:大括号{}不是规范的。它们是某些系统和用法的产物。

轻松修改上面的正则表达式以满足原始问题的要求。

提示:正则表达式组/捕获

为了避免匹配NIL UUID:

/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i


 类似资料:
  • 我有一个测试类的问题。 在我的ParkingSpotService类中,有一个UUID找到的方法,我想为此编写一个测试: 我做了什么?我创建了一个TestClass ParkingSpotServiceTest: } 在我创建了一个测试之后 观察: 当我检查optionalParkingSpot时,所有数据都在那里。

  • 我已经创建了一些mapstruct映射器,并用spring构造函数注入进行了注释。我知道在测试中,我可以用自动绘制映射器,但它看起来很重,加载速度很慢。我可以在不初始化spring上下文的情况下获取映射器吗?这是好的做法吗?

  • 问题内容: 该命令仅覆盖一个目录中的文件。 我想要整个项目,这意味着测试应覆盖dir中的所有文件以及该dir下的所有千岁树dir 。 这样做的命令是什么? 问题答案: 这应该在当前目录及其所有子目录中运行所有测试: 这应该针对给定的特定目录运行所有测试: 这应该以前缀为的导入路径运行所有测试: 这应该运行所有带有前缀的测试导入路径: 这应该在$ GOPATH中运行所有测试:

  • 我对哈希比较陌生,我使用SHA-256和一种自制的生成盐的方法生成了值的哈希。它涉及为随机盐生成器的每个输入确定地找到种子。现在我想验证散列值的完整性,并检查添加的盐的有效性。然而,我不知道该怎么做。有人能帮忙吗?

  • 问题内容: 我有一段代码,期望用Java UUID()填充响应对象的一个​​属性。 如何从外部对代码进行单元测试以检查此行为?我不知道会在其中生成UUID。 需要测试的示例代码: 问题答案: Powermock和静态模拟是前进的道路。您将需要以下内容: 请注意,可以在带有@Before注释的方法中实现静态模拟,因此可以在需要UUID的所有测试用例中重新使用该静态模拟,以避免代码重复。 初始化静态模