Pengujian di .NET
Artikel ini memperkenalkan konsep pengujian dan menggambarkan bagaimana berbagai jenis pengujian dapat digunakan untuk memvalidasi kode. Berbagai alat tersedia untuk menguji aplikasi .NET, seperti .NET CLI atau Integrated Development Environments (IDEs).
Jenis pengujian
Pengujian otomatis adalah cara yang bagus untuk memastikan bahwa kode aplikasi melakukan apa yang diinginkan penulisnya. Artikel ini membahas pengujian unit, pengujian integrasi, dan pengujian beban.
Pengujian unit
Pengujian unit adalah proses pengujian yang menguji komponen atau metode perangkat lunak individual, yang juga dikenal sebagai "unit kerja." Pengujian unit seharusnya hanya menguji kode yang berada dalam kendali pengembang. Mereka tidak menguji permasalahan infrastruktur. Masalah infrastruktur termasuk berinteraksi dengan database, sistem file, dan sumber daya jaringan.
Untuk informasi selengkapnya tentang membuat pengujian unit, lihat alat Pengujian .
Pengujian integrasi
Pengujian integrasi berbeda dari pengujian unit karena menjalankan dua atau beberapa kemampuan komponen perangkat lunak untuk berfungsi bersama-sama, juga dikenal sebagai "integrasi" mereka. Pengujian ini beroperasi pada spektrum sistem yang lebih luas yang sedang diuji, sedangkan pengujian unit berfokus pada komponen individual. Seringkali, pengujian integrasi memang mencakup masalah infrastruktur.
Memuat pengujian
Pengujian beban bertujuan untuk menentukan apakah sistem dapat menangani beban tertentu atau tidak. Misalnya, jumlah pengguna bersamaan yang menggunakan aplikasi dan kemampuan aplikasi untuk menangani interaksi secara responsif. Untuk informasi selengkapnya tentang pengujian beban/stres ASP.NET Core aplikasi web, lihat .
Pertimbangan pengujian
Perlu diingat ada praktik terbaik untuk menulis tes. Misalnya, Test Driven Development (TDD) adalah ketika Anda menulis pengujian unit sebelum kode yang dimaksudkan untuk diperiksa. TDD seperti membuat kerangka untuk buku sebelum Anda menulisnya. Pengujian unit membantu pengembang menulis kode yang lebih sederhana, dapat dibaca, dan efisien.
Alat pengujian
Saat menjalankan pengujian di .NET, ada dua komponen yang terlibat: platform pengujian dan kerangka kerja pengujian.
Platform pengujian
Platform pengujian adalah mesin yang menjalankan pengujian dan bertindak sebagai saluran komunikasi dengan IDEs. Misalnya, Visual Studio dapat mengirim permintaan penemuan ke platform pengujian sehingga dapat menampilkan pengujian yang tersedia di Test Explorer. Platform pengujian merespons kembali IDE dengan pengujian yang ditemukannya. Komunikasi serupa terjadi dalam pelaksanaan pengujian.
VSTest telah digunakan selama bertahun-tahun di .NET dan merupakan satu-satunya platform pengujian dalam ekosistem. Awal tahun 2024, versi stabil pertama dari platform pengujian baru, yang disebut Microsoft.Testing.Platform (MTP), dirilis.
Kerangka kerja pengujian
Kerangka kerja pengujian dibangun di atas platform pengujian. Ini mendefinisikan sekumpulan atribut dan API yang tersedia untuk Anda, sebagai penulis pengujian. Ini biasanya didukung oleh adaptor pengujian, yang bertindak sebagai lapisan komunikasi antara kerangka kerja pengujian dan platform pengujian. Kerangka kerja pengujian yang populer adalah MSTest, NUnit, TUnit, dan xUnit.net.
MSTest
MSTest adalah kerangka kerja pengujian Microsoft untuk semua bahasa .NET. Ini dapat diperluas dan berfungsi dengan .NET CLI, Visual Studio, Visual Studio Code, dan Rider. Ini mendukung VSTest dan Microsoft.Testing.Platform.
Untuk informasi selengkapnya, lihat sumber daya berikut ini:
- Dukungan Microsoft.Testing.Platform di MSTest (MSTest runner)
- Pengujian Unit dengan C#
- pengujian unit dengan F#
- Pengujian Unit dengan Visual Basic
NUnit
NUnit adalah kerangka kerja pengujian unit untuk semua bahasa .NET. Awalnya, NUnit di-port dari JUnit, dan rilis produksi saat ini telah ditulis ulang dengan banyak fitur dan dukungan baru untuk berbagai platform .NET. Ini adalah proyek .NET Foundation. Ini mendukung VSTest dan Microsoft.Testing.Platform.
Untuk informasi selengkapnya, lihat sumber daya berikut ini:
- dukungan untuk Microsoft.Testing.Platform di NUnit (penggerak NUnit)
- Pengujian Unit dengan C#
- pengujian unit dengan F#
- Pengujian Unit dengan Visual Basic
TUnit
TUnit sepenuhnya dibangun di atas Microsoft.Testing.Platform dan tidak mendukung VSTest. Untuk informasi selengkapnya, lihat dokumentasi TUnit.
xUnit.net
xUnit.net adalah alat pengujian unit gratis, sumber terbuka, dan berfokus pada komunitas untuk .NET. Penemu asli NUnit v2 menulis xUnit.net. xUnit.net adalah teknologi terbaru untuk pengujian unit aplikasi .NET. Ini juga berfungsi dengan ReSharper, CodeRush, dan TestDriven.NET. xUnit.net adalah proyek .NET Foundation dan beroperasi di bawah kode etiknya. Ini mendukung VSTest dan Microsoft.Testing.Platform
Untuk informasi selengkapnya, lihat sumber daya berikut ini:
- Dukungan Microsoft.Testing.Platform di xUnit.net v3
- pengujian unit dengan C#
- pengujian unit dengan F#
- Pengujian Unit dengan Visual Basic
Menjalankan pengujian
.NET CLI
Anda dapat menjalankan pengujian unit dari semua proyek pengujian dalam solusi menggunakan .NET CLI dengan perintah dotnet test . .NET CLI mengekspos sebagian besar fungsionalitas yang Lingkungan Pengembangan Terpadu (IDEs) tersedia melalui antarmuka pengguna. .NET CLI adalah lintas platform dan tersedia untuk digunakan sebagai bagian dari integrasi berkelanjutan dan alur pengiriman. .NET CLI digunakan dengan proses berskrip untuk mengotomatiskan tugas umum.
IDE
Baik Anda menggunakan Visual Studio, Visual Studio Code, atau Rider, ada antarmuka pengguna grafis untuk fungsionalitas pengujian. Ada lebih banyak fitur yang tersedia untuk IDEs daripada CLI, misalnya, Pengujian Unit Langsung. Untuk informasi selengkapnya, lihat Menyertakan dan mengecualikan pengujian dengan Visual Studio.
Lihat juga
Untuk informasi selengkapnya, lihat artikel berikut ini:
- praktik terbaik pengujian unit dengan .NET
- pengujian integrasi di ASP.NET Core
- Menjalankan pengujian unit selektif
- Menggunakan cakupan kode untuk pengujian unit