我必須為使用 Zookeeper 獲取鎖的方法創建一個單元測試用例,并使用 CompletableFuture 處理數據以下是我迄今為止嘗試過的測試用例:import org.junit.Test;import org.junit.runner.RunWith;import org.mockito.InjectMocks;import org.mockito.Mock;import org.mockito.Mockito;import org.mockito.MockitoAnnotations;import org.mockito.junit.MockitoJUnitRunner;import java.util.concurrent.ExecutionException; @RunWith(MockitoJUnitRunner.class)public class SampleJobTest { @InjectMocks private SampleJob sampleJob = new SampleJob(); @Mock private ConfigurationsIntegrationService configurationsIntegrationService; @Mock private MessageService messageService; @Mock private LockingExecutorProcessor<ConfigurationsIntegrationModel> lockingExecutorProcessor; @Test public void testSampleJob() throws ExecutionException, InterruptedException { Mockito.doCallRealMethod().when(lockingExecutorProcessor).process(Mockito.any(), Mockito.any(), Mockito.any()); Mockito.doCallRealMethod().when(configurationsIntegrationService).getRecords(Mockito.any()); Mockito.doCallRealMethod().when(messageService).getMessagesList(Mockito.any()); sampleJob.executeJob(); }}當我調試代碼時,它會在 LockingExecutorProcessor 的 CompletableFuture.runAsync 行處中斷并拋出空指針錯誤;原因是distributedLockProcessor對象為null;我們如何模擬它以及如何連接到測試 Zookeeper 服務器而不是原始服務器以確保鎖定正常工作
添加回答
舉報
0/150
提交
取消