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!