Rumah >Java >javaTutorial >Bagaimana untuk Mengejek Kaedah Void dengan Berkesan dalam Mockito?
Kaedah Tidak Sah Mengejek dengan Mockito
Dalam corak Pemerhati, pemerhati lazimnya mentakrifkan kaedah dengan jenis pulangan tidak sah. Apabila cuba mengejek kaedah sedemikian menggunakan Mockito, anda mungkin menghadapi cabaran.
Cabaran: Olok-olok kaedah tanpa nilai pulangan tidak dicetuskan secara automatik. Akibatnya, penegasan yang berkaitan dengan perubahan keadaan atau pemanggilan kaedah mungkin gagal dalam ujian unit.
Penyelesaian:
Gunakan doThrow(), doAnswer(), Kaedah doNothing(), atau doReturn() daripada Mockito untuk memanipulasi kelakuan kaedah batal.
Sebagai contoh, untuk mencetuskan pengecualian apabila kaedah dipanggil:
Mockito.doThrow(new Exception()).when(instance).methodName();
Untuk menggabungkannya dengan yang berikutnya tindakan:
Mockito.doThrow(new Exception()).doNothing().when(instance).methodName();
Dalam contoh yang disediakan, mengejek kaedah setState boleh dicapai menggunakan kaedah doAnswer:
World mockWorld = mock(World.class); doAnswer(new Answer<Void>() { public Void answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); System.out.println("called with arguments: " + Arrays.toString(args)); return null; } }).when(mockWorld).setState(anyString());
Dengan teknik ini, anda boleh mengejek kaedah batal, menetapkan jangkaan, dan lakukan penegasan untuk mengesahkan tingkah laku mereka dalam ujian unit anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengejek Kaedah Void dengan Berkesan dalam Mockito?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!