Rumah > pembangunan bahagian belakang > C++ > Bagaimana Saya Boleh Mengejek dan Ref Parameter dengan Moq?

Bagaimana Saya Boleh Mengejek dan Ref Parameter dengan Moq?

Linda Hamilton
Lepaskan: 2025-01-18 05:37:15
asal
247 orang telah melayarinya

How Can I Mock Out and Ref Parameters with Moq?

Mengendalikan parameter Keluar/Rujuk dalam Moq

Moq ialah rangka kerja ujian unit popular yang menyediakan keupayaan simulasi yang berkuasa. Walau bagaimanapun, masih terdapat beberapa soalan tentang sokongannya untuk menetapkan parameter keluar/ref. Artikel ini meneroka kebolehlaksanaan ciri ini dan menyediakan penyelesaian jika berkenaan.

Parameter 'Keluar'

Moq membenarkan parameter diberikan nilai melalui teknik mudah. Contohnya adalah seperti berikut:

<code>public interface IService
{
    void DoSomething(out string a);
}

[TestMethod]
public void Test_OutParam()
{
    var service = new Mock<IService>();
    string expectedValue = "value";
    service.Setup(s => s.DoSomething(out expectedValue));

    string actualValue;
    service.Object.DoSomething(out actualValue);
    Assert.AreEqual(expectedValue, actualValue);
}</code>
Salin selepas log masuk

Dalam senario ini, Moq menangkap nilai expectedValue apabila Persediaan dipanggil. Apabila kaedah olok-olok dilaksanakan, ia akan mengembalikan nilai ini.

Parameter 'Rujuk'

Malangnya, Moq tidak menyokong parameter rujukan pada masa ini. Penyelesaian untuk parameter keluar tidak boleh digunakan secara langsung di sini. Walau bagaimanapun, anda boleh menggunakan kaedah Panggilan Balik untuk mencapai tingkah laku yang serupa. Walau bagaimanapun, Tindakan tidak menyokong parameter rujukan.

Dokumentasi Moq menyediakan panduan permulaan pantas yang berguna dengan cerapan tentang pelbagai aspek rangka kerja: https://www.php.cn/link/a77054e9d6c3fb75907aed15140ca1e6

Atas ialah kandungan terperinci Bagaimana Saya Boleh Mengejek dan Ref Parameter dengan Moq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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