我需要创建一个唯一的ID。它必须是16个字节长。

我遇到了java.util.UUID并尝试使用UUID.randomUUID()。但是如何确保生成的UUID为16个字节长?

在我的JUnit中,我尝试使用

Assert.assertTrue(stringUUID.getBytes().length() ==16)

这样对吗?

最佳答案

您不需要对JDK类进行单元测试(除非您正在为JDK编写代码)。 java.util.UUID将创建正确的16字节唯一ID。而是将精力集中在自己的代码上进行测试。

对于更易于理解的测试用例输出(在断言失败的情况下),最好使用assertEquals:

assertEquals("UUID has expected length", 16, stringUUID.getBytes().length());

但是,这将失败,因为string representation的长度超过16个字节。十六进制编码和连字符等等。

10-07 19:11
查看更多