Cara Menulis Tes Unit di C# untuk Kualitas Kode yang Lebih Baik

Cara Menulis Tes Unit Di C Untuk Kualitas Kode Yang Lebih Baik



Ketika sebagian besar dari kita memulai sebagai pengembang, kita hampir tidak berpikir atau mencurahkan banyak waktu untuk pengujian unit. Namun, ketika Anda masuk ke lingkungan repositori yang lebih kompleks dan bersama, pengujian kode menjadi semakin penting sebelum menerapkannya ke produksi.

Oleh karena itu, penting untuk memahami dasar-dasar pengujian unit di awal tahap pengembangan Anda untuk menghindari kurva pembelajaran saat menangani basis kode yang luas.

Dalam tutorial ini, kami akan memperkenalkan Anda ke dalam kerangka pengujian unit menggunakan C# dan perpustakaan pengujian MSTest. Kami akan membangun aplikasi dasar yang memungkinkan Anda mempelajari cara membuat pengujian unit, cara menjalankannya, dan cara menafsirkan hasil dari kegagalan atau keberhasilan pengujian.







Lingkungan Pengujian

Mari kita mulai dengan mendiskusikan solusi pengujian dan cara mengkonfigurasi aplikasi dasar kita.



Untuk mengikuti dan mereplikasi aplikasi dalam tutorial ini, pastikan Anda memiliki hal berikut:



  1. Visual Studio yang diinstal
  2. Alat .NET dan C# yang dikonfigurasi di mesin Anda

Buat Aplikasi

Selanjutnya, buka Visual Studio dan buat solusi baru. Untuk tutorial ini, kita akan membangun aplikasi kalkulator dasar. Anda dapat memberikan aplikasi dengan nama apa pun yang Anda inginkan.





Selanjutnya, buat proyek baru dan pilih jenis proyek sebagai Proyek Uji MSTest dan berikan nama apa pun yang diinginkan.



Pastikan untuk memilih “Tambahkan ke solusi” dan pilih aplikasi yang dibuat sebelumnya.

Anda harus memiliki aplikasi utama dan proyek pengujian unit seperti yang ditunjukkan dalam penjelajah solusi.

Tulis Kode untuk Aplikasi Kalkulator

Langkah selanjutnya adalah menulis kode untuk aplikasi kalkulator kita. Kita dapat melakukan ini di file “program.cs” CalcApp.

Karena kita mencari fungsionalitas dasar, kita dapat menambahkan kode sumber sebagai berikut:

Kalkulator kelas publik
{
publik dobel Menambahkan ( dobel A , dobel B )
{
kembali A + B ;
}

publik dobel Mengurangi ( dobel A , dobel B )
{
kembali A - B ;
}

publik dobel Berkembang biak ( dobel A , dobel B )
{
kembali A * B ;
}

publik dobel Membagi ( dobel A , dobel B )
{
jika ( B == 0 )
melempar DivideByZeroException baru ( ) ;
kembali A / B ;
}
}

Seperti yang bisa Anda tebak, kode sebelumnya membuat aplikasi kalkulator yang dapat menjalankan aplikasi aritmatika dasar.

Tulis Tes Unit

Setelah selesai, kita dapat menulis unit test untuk kelas “Kalkulator”. Dalam hal ini, yang perlu kita lakukan hanyalah menulis pengujian di file “UnitTest” proyek sebagai berikut:

menggunakan Sistem ;

namespace CalcApp
{
Kalkulator kelas publik
{
publik dobel Menambahkan ( dobel A , dobel B )
{
kembali A + B ;
}

publik dobel Mengurangi ( dobel A , dobel B )
{
kembali A - B ;
}

publik dobel Berkembang biak ( dobel A , dobel B )
{
kembali A * B ;
}

publik dobel Membagi ( dobel A , dobel B )
{
jika ( B == 0 )
melempar DivideByZeroException baru ( ) ;
kembali A / B ;
}
}
}

namespace CalcTest
{
[ Kelas Tes ]
Tes Kalkulator kelas publik
{
kalkulator Kalkulator pribadi ;

[ TesInisialisasi ]
publik ruang kosong Mempersiapkan ( )
{
Kalkulator = Kalkulator baru ( ) ;
}

[ Metode Tes ]
publik ruang kosong Tambahkan_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
adalah hasilnya = Kalkulator. Menambahkan ( 5 , 5 ) ;
Menegaskan. Adalah sama ( 10 , hasil ) ;
}

[ Metode Tes ]
publik ruang kosong Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
adalah hasilnya = Kalkulator. Mengurangi ( 10 , 5 ) ;
Menegaskan. Adalah sama ( 5 , hasil ) ;
}

[ Metode Tes ]
publik ruang kosong Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
adalah hasilnya = Kalkulator. Berkembang biak ( 5 , 5 ) ;
Menegaskan. Adalah sama ( 25 , hasil ) ;
}

[ Metode Tes ]
[ Pengecualian yang diharapkan ( jenis ( DivideByZeroException ) ) ]
publik ruang kosong Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
adalah hasilnya = Kalkulator. Membagi ( 5 , 0 ) ;
}

[ Metode Tes ]
publik ruang kosong Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
adalah hasilnya = Kalkulator. Membagi ( 10 , 5 ) ;
Menegaskan. Adalah sama ( 2 , hasil ) ;
}
}
}

Kesimpulan

Ini adalah tutorial dasar yang mencakup dasar-dasar pengujian unit di C# menggunakan kerangka kerja MSTest.