Hazelcast 实例和缓存在运行单元测试后保持活动状态

问题描述 投票:0回答:1

所以我没有模拟 HazelcastInstance,因为我的代码需要缓存中的数据来测试它们的功能。如果我模拟 HazelcastInstance,我将无法模拟返回缓存数据的 getMap() 方法。如果我确实模拟它,我无法让它返回一个虚拟对象,因为据我所知, IMap<> 无法初始化。所以这在 kotlin 代码中是不可能的

myDummyMap : IMap =(IMap 实例) 当(instance.getmap).thenReturn(myDummyMap)

现在的问题是,在单元测试之后,hazel 的实例不仅持续存在,而且还加入了主应用程序集群

java kotlin unit-testing mockito hazelcast
1个回答
0
投票

您可以轻松模拟 IMap,而不是模拟 HZ 实例。这比启动 HZ 实例进行单元测试要容易得多。

@Test
void testMockIMap() {
  IMap<String, Integer> mockMap = Mockito.mock(IMap.class);
  Mockito.when(mockMap.get("key1")).thenReturn(1);
  Integer result = mockMap.get("key1");
  Assertions.assertEquals(1, result);
}
© www.soinside.com 2019 - 2024. All rights reserved.