Kaedah Void Mengejek dengan Mockito
Kaedah void mengejek dalam Mockito boleh dicapai menggunakan kaedah dari doThrow(), doAnswer(), doNothing (), dan keluarga doReturn(). Kaedah ini membolehkan anda menentukan gelagat untuk kaedah olok-olok yang mempunyai jenis pulangan tidak sah.
Contoh:
// Mock a void method that throws an exception Mockito.doThrow(new Exception()).when(instance).methodName(); // Mock a void method that performs some action Mockito.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(instance).methodName();
Dalam contoh khusus anda, anda boleh mengejek kaedah setState() dalam kelas Dunia seperti berikut:
// Mock the World class World mockWorld = mock(World.class); // Mock the setState method to print the arguments passed to it 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());
Sekarang, apabila anda memanggil mockWorld.setState() dalam ujian anda, Jawapan yang disediakan akan dilaksanakan, membolehkan anda mengesahkan bahawa hujah yang betul telah dihantar kepada kaedah.
Atas ialah kandungan terperinci Bagaimana untuk Mengejek Kaedah Void dalam Mockito dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!