Unit Test là một phần quan trọng trong phát triển phần mềm để đảm bảo rằng các đoạn mã của bạn hoạt động như mong đợi. Trong C#, bạn có thể sử dụng thư viện MSTest, NUnit, hoặc xUnit để viết các unit test. Trong hướng dẫn này, chúng ta sẽ sử dụng MSTest để viết unit test.
Cài đặt môi trường
Đầu tiên, bạn cần tạo một project console và một project test trong Visual Studio.
-
Tạo Project Console:
- Mở Visual Studio và tạo một "Console App (.NET Core)" hoặc "Console App (.NET Framework)" tùy theo nhu cầu của bạn.
- Đặt tên project là
MyApp
.
-
Tạo Project Test:
- Trong Visual Studio, nhấp chuột phải vào solution của bạn và chọn "Add" > "New Project".
- Chọn "Unit Test Project (.NET Core)" hoặc "Unit Test Project (.NET Framework)".
- Đặt tên project là
MyApp.Tests
.
-
Thêm Tham Chiếu:
- Nhấp chuột phải vào
MyApp.Tests
, chọn "Add" > "Reference", và thêm tham chiếu đến projectMyApp
.
- Nhấp chuột phải vào
Viết Code Cần Test
Ví dụ, chúng ta sẽ viết một phương thức đơn giản trong project MyApp
để tính tổng của hai số nguyên.
// File: MyApp/Calculator.cs
namespace MyApp
{
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
}
Viết Unit Test
Bây giờ chúng ta sẽ viết các unit test cho phương thức Add
trong project MyApp.Tests
.
// File: MyApp.Tests/CalculatorTests.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MyApp;
namespace MyApp.Tests
{
[TestClass]
public class CalculatorTests
{
[TestMethod]
public void Add_TwoPositiveNumbers_ReturnsCorrectSum()
{
// Arrange
var calculator = new Calculator();
int a = 5;
int b = 3;
// Act
int result = calculator.Add(a, b);
// Assert
Assert.AreEqual(8, result);
}
[TestMethod]
public void Add_PositiveAndNegativeNumber_ReturnsCorrectSum()
{
// Arrange
var calculator = new Calculator();
int a = 5;
int b = -3;
// Act
int result = calculator.Add(a, b);
// Assert
Assert.AreEqual(2, result);
}
[TestMethod]
public void Add_TwoNegativeNumbers_ReturnsCorrectSum()
{
// Arrange
var calculator = new Calculator();
int a = -5;
int b = -3;
// Act
int result = calculator.Add(a, b);
// Assert
Assert.AreEqual(-8, result);
}
}
}
Giải thích chi tiết:
- [TestClass]: Attribute này đánh dấu lớp chứa các unit test.
- [TestMethod]: Attribute này đánh dấu phương thức là một unit test.
- Arrange: Thiết lập các đối tượng và giá trị cần thiết cho test.
- Act: Gọi phương thức cần test.
- Assert: Kiểm tra kết quả trả về từ phương thức cần test với kết quả mong đợi.
Chạy Unit Test
Để chạy các unit test, bạn có thể sử dụng Test Explorer trong Visual Studio:
- Mở Test Explorer:
Test
>Test Explorer
. - Nhấp vào "Run All" để chạy tất cả các test.
Nếu tất cả các test đều chạy thành công, bạn sẽ thấy kết quả "Passed" trong Test Explorer.
Lưu ý
- Bạn có thể thêm nhiều test method để kiểm tra các trường hợp khác nhau của phương thức
Add
. - MSTest, NUnit, và xUnit đều có cú pháp và cách thức hoạt động tương tự nhau, bạn có thể chọn framework phù hợp với nhu cầu của mình.
Bằng cách viết unit test, bạn có thể đảm bảo rằng các phương thức trong ứng dụng của bạn hoạt động đúng như mong đợi và dễ dàng phát hiện lỗi trong quá trình phát triển.
Comments