我需要创建一个唯一的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个字节。十六进制编码和连字符等等。