Cách viết bài kiểm tra đơn vị trong C# để có chất lượng mã tốt hơn

Cach Viet Bai Kiem Tra Don Vi Trong C De Co Chat Luong Ma Tot Hon



Khi hầu hết chúng ta mới bắt đầu làm nhà phát triển, chúng ta hầu như không suy nghĩ hoặc dành nhiều thời gian cho việc thử nghiệm đơn vị. Tuy nhiên, khi bạn bước vào một môi trường kho lưu trữ chia sẻ và phức tạp hơn, việc kiểm tra mã trước khi triển khai nó vào sản xuất ngày càng trở nên cần thiết hơn.

Do đó, điều cần thiết là phải sớm có được các nguyên tắc cơ bản về kiểm thử đơn vị trong các giai đoạn phát triển của bạn để tránh mất thời gian học tập khi xử lý các cơ sở mã mở rộng.

Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn khung thử nghiệm đơn vị bằng C# và thư viện thử nghiệm MSTest. Chúng tôi sẽ xây dựng một ứng dụng cơ bản cho phép bạn tìm hiểu cách tạo các bài kiểm tra đơn vị, cách chạy chúng và cách diễn giải kết quả từ sự thất bại hay thành công của một bài kiểm tra.







Môi trường thử nghiệm

Chúng ta hãy bắt đầu bằng cách thảo luận về giải pháp thử nghiệm và cách định cấu hình ứng dụng cơ bản của chúng tôi.



Để làm theo và sao chép ứng dụng trong hướng dẫn này, hãy đảm bảo rằng bạn có những điều sau:



  1. Đã cài đặt Visual Studio
  2. Đã định cấu hình các công cụ .NET và C# trên máy của bạn

Tạo một ứng dụng

Tiếp theo, mở Visual Studio và tạo một giải pháp mới. Đối với hướng dẫn này, chúng ta sẽ xây dựng một ứng dụng máy tính cơ bản. Bạn có thể đặt cho ứng dụng với bất kỳ tên nào bạn muốn.





Tiếp theo, tạo một dự án mới và chọn loại dự án là Dự án thử nghiệm MSTest và đặt cho nó bất kỳ tên mong muốn nào.



Đảm bảo chọn “Thêm vào giải pháp” và chọn ứng dụng đã tạo trước đó.

Bạn phải có ứng dụng chính và dự án thử nghiệm đơn vị như được hiển thị trong trình khám phá giải pháp.

Viết mã cho ứng dụng máy tính

Bước tiếp theo là viết mã cho ứng dụng máy tính của chúng ta. Chúng ta có thể thực hiện việc này trong tệp “program.cs” CalcApp.

Vì chúng ta đang tìm kiếm chức năng cơ bản nên chúng ta có thể thêm mã nguồn như sau:

Máy tính lớp công cộng
{
công cộng gấp đôi Thêm vào ( gấp đôi Một , gấp đôi b )
{
trở lại Một + b ;
}

công cộng gấp đôi Trừ ( gấp đôi Một , gấp đôi b )
{
trở lại Một - b ;
}

công cộng gấp đôi nhân ( gấp đôi Một , gấp đôi b )
{
trở lại Một * b ;
}

công cộng gấp đôi Chia ( gấp đôi Một , gấp đôi b )
{
nếu như ( b == 0 )
ném ngoại lệ DivideByZeroException mới ( ) ;
trở lại Một / b ;
}
}

Như bạn có thể đoán, đoạn mã trước tạo ra một ứng dụng máy tính có thể thực hiện các ứng dụng số học cơ bản.

Viết bài kiểm tra đơn vị

Sau khi hoàn tất, chúng ta có thể viết các bài kiểm tra đơn vị cho lớp “Máy tính”. Trong trường hợp này, tất cả những gì chúng ta cần làm là viết các bài kiểm tra vào tệp “UnitTest” của dự án như sau:

sử dụng hệ thống ;

không gian tên CalcApp
{
Máy tính lớp công cộng
{
công cộng gấp đôi Thêm vào ( gấp đôi Một , gấp đôi b )
{
trở lại Một + b ;
}

công cộng gấp đôi Trừ ( gấp đôi Một , gấp đôi b )
{
trở lại Một - b ;
}

công cộng gấp đôi nhân ( gấp đôi Một , gấp đôi b )
{
trở lại Một * b ;
}

công cộng gấp đôi Chia ( gấp đôi Một , gấp đôi b )
{
nếu như ( b == 0 )
ném ngoại lệ DivideByZeroException mới ( ) ;
trở lại Một / b ;
}
}
}

không gian tên CalcTest
{
[ Lớp kiểm tra ]
lớp công khai Kiểm tra máy tính
{
máy tính tính riêng ;

[ Kiểm traKhởi tạo ]
công cộng trống rỗng Cài đặt ( )
{
máy tính = Máy tính mới ( ) ;
}

[ Phương pháp kiểm tra ]
công cộng trống rỗng Cộng_HaiSố Tích Cực_ReturnsCorregSum ( )
{
là kết quả = máy tính. Thêm vào ( 5 , 5 ) ;
Khẳng định. bằng nhau ( 10 , kết quả ) ;
}

[ Phương pháp kiểm tra ]
công cộng trống rỗng Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
là kết quả = máy tính. Trừ ( 10 , 5 ) ;
Khẳng định. bằng nhau ( 5 , kết quả ) ;
}

[ Phương pháp kiểm tra ]
công cộng trống rỗng Multiply_TwoPositiveNumbers_ReturnsCorregSản phẩm ( )
{
là kết quả = máy tính. nhân ( 5 , 5 ) ;
Khẳng định. bằng nhau ( 25 , kết quả ) ;
}

[ Phương pháp kiểm tra ]
[ Dự kiếnNgoại lệ ( loại ( DivideByZeroNgoại lệ ) ) ]
công cộng trống rỗng Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
là kết quả = máy tính. Chia ( 5 , 0 ) ;
}

[ Phương pháp kiểm tra ]
công cộng trống rỗng Chia_HaiSố Dương_Trả vềChính xácQuotient ( )
{
là kết quả = máy tính. Chia ( 10 , 5 ) ;
Khẳng định. bằng nhau ( 2 , kết quả ) ;
}
}
}

Phần kết luận

Đây là hướng dẫn cơ bản bao gồm các nguyên tắc cơ bản của thử nghiệm đơn vị trong C# bằng cách sử dụng khung MSTest.