Powermock和静态模拟是前进的道路。您将需要以下内容:
... import static org.junit.Assert.assertEquals; import static org.powermock.api.mockito.PowerMockito.mockStatic; ... @PrepareForTest({ UUID.class }) @RunWith(PowerMockRunner.class) public class ATest { ... //at some point in your test case you need to create a static mock mockStatic(UUID.class); when(UUID.randomUUID()).thenReturn("your-UUID"); ... }请注意,可以在带有@Before注释的方法中实现静态模拟,因此可以在需要UUID的所有测试用例中重新使用该静态模拟,以避免代码重复。
初始化静态模拟之后,可以在测试方法中的某个位置声明UUID的值,如下所示:
A a = doSomething();assertEquals("your-UUID", a.getX());


