Tes Markop adalah alat pengujian yang bebas, open-source, fokus untuk .NET . Menggunakan tes Markop Anda dapat dengan mudah menulis tes unit , tes integrasi , tes fungsional dan tes beban .
Untuk menggunakan tes Markop, Anda harus melakukan langkah -langkah berikut:
1- Buat proyek perpustakaan kelas di dalam solusi Anda dan beri nama sesuai dengan jenis tes yang ingin Anda lakukan, misalnya, "FunctionalTest". Jangan lupa menambahkan proyek ke solusi Anda.
dotnet new classlib -n [YOUR PROJECT NAME] dotnet sln add [YOUR PROJECT NAME] 3- Pasang paket uji Markop di dalam proyek pengujian Anda:
Nuget:
Install-Package MarkopTestAtau menggunakan dotnet cli:
dotnet add package MarkopTest4- Bergantung pada jenis pengujian yang ingin Anda lakukan, Anda harus pergi ke: Uji unit, tes integrasi, uji fungsional atau uji beban.
Tes unit seharusnya menguji perilaku sepotong kode terkecil. Tes Markop ada di sini untuk membuat proses ini sepenuhnya otomatis. Menulis tes unit tidak pernah semudah sebelumnya !!
Pertama -tama Anda harus membuat kelas AppFactory memperluasnya dari kelas UnitTestFactory .
Maka Anda perlu mengganti metode Initializer dan ConfigureTestServices
Metode Initializer memberi Anda kemampuan untuk memulai basis data khusus untuk menguji yang harus Anda lakukan adalah membangun inisialisasi khusus Anda dan memanggilnya di sini. Tes Markop akan mengurus sisanya !!
Metode ConfigureTestServices memberi Anda kemampuan untuk mendaftarkan/menghapus layanan. Dengan cara ini Anda akan memiliki kendali penuh atas layanan terdaftar dari aplikasi Anda sebelum mulai menguji !!

Maka Anda perlu membuat kelas dan memperluasnya dari kelas AppFactory Anda sendiri
Selanjutnya, Anda harus mendefinisikan metode di dalam kelas Anda dan meletakkan atribut uji yang dapat dideferabar. Ini bisa [Fact] atau [Theory] atau atribut uji valid lainnya di Xunit.
Sekarang Anda dapat mulai menulis kode tes Anda di dalam metode Anda !!
Misalnya dalam kode di bawah ini kami menulis kode untuk menguji metode ekstensi yang disebut EmailNormalize

Bagian dari pengujian perangkat lunak yang menguji komponen kode individual untuk memvalidasi interaksi di antara berbagai modul sistem perangkat lunak.
Kami menggunakan tes ini digunakan untuk menguji infrastruktur aplikasi dan seluruh kerangka kerja, seringkali termasuk komponen berikut:
Markop menyediakan abstraksi pabrik aplikasi untuk memudahkan menerapkan uji integrasi bersih dan melihat output alih -alih menggunakan alat pengujian API eksternal seperti Postman.

Pertama -tama Anda harus membuat kelas AppFactory memperluasnya dari kelas IntegrationTestFactory .
Selanjutnya Anda perlu mengganti inisialisasi, configureTestServices, getUrl, validateresponse metode.
Maka Anda perlu membuat kelas dan memperluasnya dari kelas AppFactory Anda sendiri. Untuk implementasi yang lebih bersih, kami sarankan membuat kelas untuk setiap pengontrol di API Anda.
Gunakan Atrribute Endpoint untuk menentukan Pola Alamat Permintaan.
Selanjutnya, Anda harus mendefinisikan metode di dalam kelas Anda dan meletakkan atribut uji yang dapat dideferabar. Ini bisa [Fact] atau [Theory] atau atribut uji valid lainnya di Xunit.
Sekarang Anda dapat mulai menulis kode tes Anda di dalam metode Anda !!
Misalnya dalam kode di bawah ini kami menulis kode untuk menguji API SignIn

Perhatian1 : Pada variabel runtime seperti controller dan action di dalam Endpoint atrribute akan intitalisasi dengan nama kelas Anda dan nama metode Anda .
Perhatian2 : Tes Markop secara otomatis mengabaikan ["tes", "tes", "controller"] di akhir nama kelas Anda.
Misalnya dalam kode di atas, nilai controller akan menjadi "akun" dan nilai action akan menjadi "menandatangani". Permintaan akan dikirim ke titik akhir /Account/SignIn .
Tes menentukan fungsionalitas produk yang dapat dilakukan dengan menggabungkan uji integrasi dan membandingkan output aktual dengan output yang telah ditentukan.
Kami menggunakan skenario kasus untuk pengujian fungsional. Misalnya, dalam sistem berita, kita harus menguji skenario berita mengelola seperti membuat , mengedit dan menghapus entitas berita, Anda dapat menerapkan alur kerja transaksi dalam sistem Anda.
Seperti dalam pengujian integrasi, Markop menyediakan abstraksi pabrik aplikasi untuk memudahkan untuk mengimplementasikan tes fungsional yang bersih .
Initializer(IServiceProvider hostServices) : Metode Initializer memberi Anda kemampuan untuk memulai database khusus untuk pengujian. Yang harus Anda lakukan adalah membangun inisialisasi khusus Anda dan memanggilnya di sini. Tes Markop akan mengurus sisanya !!
ConfigureTestServices(IServiceCollection services) Metode ConfigureTestServices memberi Anda kemampuan untuk mendaftarkan/menghapus layanan. Dengan cara ini Anda akan memiliki kendali penuh atas layanan terdaftar dari aplikasi Anda sebelum mulai menguji !!

GetUrl(string url, string controllerName, string testMethodName) GetUrl membantu Anda untuk membangun alamat yang benar yang akan mengirim permintaan.
ValidateResponse(HttpResponseMessage httpResponseMessage,TFetchOptions fetchOptions) ValidateResponse memungkinkan Anda untuk menyesuaikan proses validasi respons sesuai dengan perilaku API Anda yang diharapkan.
Jika Anda tertarik untuk berkontribusi pada proyek ini, pertama -tama, kami ingin menyampaikan rasa terima kasih saya yang tulus.
Silakan menjangkau kami jika Anda membutuhkan bantuan.
Mit