Rumah >Java >javaTutorial >Bagaimana untuk mengejek Respons Tidak Tentu dalam ExecutorCompletionService dengan Mockito?

Bagaimana untuk mengejek Respons Tidak Tentu dalam ExecutorCompletionService dengan Mockito?

Susan Sarandon
Susan Sarandonasal
2024-11-01 02:46:28453semak imbas

How to Mock Nondeterministic Responses in ExecutorCompletionService with Mockito?

Respons Nondeterministic Mengejek dalam ExecutorCompletionService dengan Mockito

Menguji kelakuan ExecutorCompletionService apabila tugas mengembalikan nilai nondeterministic boleh mencabar. Walau bagaimanapun, Mockito menyediakan penyelesaian untuk mensimulasikan senario sedemikian.

Dalam situasi ini, anda boleh menggunakan kaedah thenReturn Mockito untuk menentukan berbilang nilai pulangan bagi kaedah stubbed. Ini membolehkan anda mengawal susunan nilai yang dikembalikan, memastikan hasil kekal konsisten tanpa mengira susunan pelaksanaan.

Untuk mencapai ini, tentukan sahaja panggilan kaedah stub diikuti dengan senarai nilai yang akan dikembalikan mengikut tertib. Contohnya:

when(completionService.take().get()).thenReturn(value1, value2, value3);

Dalam contoh ini, nilai1 akan dikembalikan pada kali pertama take() dipanggil, nilai2 akan dikembalikan kali kedua dan seterusnya. Setelah semua nilai telah dikembalikan, nilai3 akan dikembalikan berulang kali untuk panggilan berikutnya.

Dengan menggunakan teknik ini, anda boleh menguji kelakuan kod anda apabila berurusan dengan hasil tugasan yang tidak ditentukan, memastikan hasil yang diingini dicapai tanpa mengira daripada susunan tugasan diselesaikan.

Atas ialah kandungan terperinci Bagaimana untuk mengejek Respons Tidak Tentu dalam ExecutorCompletionService dengan Mockito?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn