Rumah > Java > javaTutorial > teks badan

Bagaimana Cara Mengejek untuk Mengembalikan Hujah yang Diterima di Java?

Mary-Kate Olsen
Lepaskan: 2024-10-23 22:18:29
asal
932 orang telah melayarinya

How to Mock Methods to Return Arguments Received in Java?

Kaedah Mengejek untuk Mengembalikan Hujah Yang Diterima

Dalam pengaturcaraan berorientasikan objek, rangka kerja mengejek seperti Mockito digunakan untuk mencipta objek olok-olok yang mensimulasikan kelakuan objek sebenar untuk tujuan ujian. Satu senario biasa dalam ujian ialah keperluan untuk mempunyai kaedah yang diejek mengembalikan hujah yang sama yang telah dihantar kepadanya.

Ungkapan Mockito dan Lambda (Mockito 1.9.5 dan Java 8 )

Untuk versi Mockito 1.9.5 dan kemudian bersama-sama dengan Java 8 atau lebih tinggi, anda boleh memanfaatkan ungkapan lambda untuk mencapai gelagat ini:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</p>
<p>Di sini, saya mewakili contoh InvocationOnMock, dan getArguments()[0] mendapatkan semula hujah pertama yang diserahkan kepada kaedah yang dipermainkan.</p>
<p><h3>Mockito dan Jawapan Tersuai (Versi Lama)</h3></p>
<p>Untuk yang lebih lama versi Mockito, anda boleh menggunakan pelaksanaan Mockito Answer tersuai:</p>
<pre class="brush:php;toolbar:false"><code class="java">MyInterface mock = mock(MyInterface.class);
when(mock.myFunction(anyString())).thenAnswer(new Answer<String>() {
    @Override
    public String answer(InvocationOnMock invocation) throws Throwable {
        Object[] args = invocation.getArguments();
        return (String) args[0];
    }
});</code>
Salin selepas log masuk

Jawapan tersuai ini mendapatkan semula hujah yang diluluskan dan mengembalikannya, membenarkan kaedah yang diejek menggemakan input yang diterima.

Atas ialah kandungan terperinci Bagaimana Cara Mengejek untuk Mengembalikan Hujah yang Diterima di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!