首页 > 解决方案 > Mockito 如何在 java 中为 UUID 生成编写单元测试?

问题描述

我正在尝试为为用户生成 id 的方法创建单元测试。

public class IdFactory {
       public String generateId(){
           return UUID.RandomUUID().toString();
       }
}

在单元测试中我遇到了一些麻烦。我无法生成另一个随机 UUID,因为那会有所不同,并且我无法做出任何相关断言。我想知道我该怎么做。

标签: javamockito

解决方案


只需断言它是否是有效的 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.
}

推荐阅读