java - Mockito 如何在 java 中为 UUID 生成编写单元测试?
问题描述
我正在尝试为为用户生成 id 的方法创建单元测试。
public class IdFactory {
public String generateId(){
return UUID.RandomUUID().toString();
}
}
在单元测试中我遇到了一些麻烦。我无法生成另一个随机 UUID,因为那会有所不同,并且我无法做出任何相关断言。我想知道我该怎么做。
解决方案
只需断言它是否是有效的 UUID。您可以使用UUID#fromString方法。
根据 {@link #toString} 方法中描述的字符串标准表示创建一个 {@code UUID}。
@throws IllegalArgumentException 如果名称不符合 {@link #toString} 中描述的字符串表示
IdFactory idfactory;
@Test
public void test_generate_id() {
String id = idfactory.generateId();
//asserting if the above id is a valid UUID
UUID.fromString(id); //Should not throw an IllegalArgumentException.
}
推荐阅读
- windows - 无法将 curl 命令的详细输出存储到批处理脚本中的变量
- excel - Excel - 使用结构化名称在 VBA 中创建公式会导致某些列名获得“@”(同一列)标签?
- tensorflow - TensorFlow Keras 使用输入小于 32x32 的 MobileNetV2 模型
- postgresql - 创建一个临时表,循环并添加数据并从中选择?查询没有结果数据的目的地
- django - Django:制作均匀分布的混合项目提要
- r - 我可以根据许多相关条件在 R 中过滤(或创建新)数据集吗?
- sql - Oracle SQL 导出到 csv 显示错误:ORA-01722:无效数字
- tensorflow - 如何在 TF Slim 中表示嵌入层?
- authentication - 谷歌验证 oauth2 令牌在第二次处理时未被处理
- python - FileNotFoundError: [WinError 2] 系统找不到指定的文件:'a.jpg'