Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Các phương thức Assert trong Python Unittest
Trong bài viết này, bạn sẽ tìm hiểu tổng quan về các phương thức assert trong mô-đun unittest của Python để thực hiện kiểm thử đơn vị. Các phương thức assert giúp kiểm tra tính đúng đắn của mã nguồn thông qua các điều kiện cụ thể, từ đó đảm bảo rằng các chức năng của ứng dụng hoạt động như mong đợi. Mình sẽ tìm hiểu các phương thức assert phổ biến nhất và cách sử dụng chúng để nâng cao hiệu quả và độ chính xác của các kiểm thử đơn vị.

Giới thiệu về các phương thức assert của Python Unittest
Lớp TestCase của mô-đun unittest cung cấp nhiều phương thức assert để kiểm thử. Bảng sau đây liệt kê các phương thức assert được sử dụng phổ biến nhất:
| Phương thức | Kiểm tra điều kiện |
|---|---|
assertEqual(x, y, msg=None) |
x == y |
assertNotEqual(x, y, msg=None) |
x != y |
assertTrue(x, msg=None) |
bool(x) là True |
assertFalse(x, msg=None) |
bool(x) là False |
assertIs(x, y, msg=None) |
x là y |
assertIsNot(x, y, msg=None) |
x không là y |
assertIsNone(x, msg=None) |
x là None |
assertIsNotNone(x, msg=None) |
x không là None |
assertIn(x, y, msg=None) |
x có trong y |
assertNotIn(x, y, msg=None) |
x không có trong y |
assertIsInstance(x, y, msg=None) |
isinstance(x, y) |
assertNotIsInstance(x, y, msg=None) |
không isinstance(x, y) |
Tất cả các phương thức này đều có tham số tùy chọn msg kiểu chuỗi. Thông điệp msg sẽ được hiển thị trong kết quả kiểm thử nếu kiểm thử thất bại.
Các phương thức assert sau đây kiểm tra ngoại lệ, cảnh báo và thông điệp log:
Bài viết này được đăng tại [free tuts .net]
| Phương thức | Kiểm tra điều kiện |
|---|---|
assertRaises(exc, fun, *args, **kwds) |
fun(*args, **kwds) gây ra exc |
assertRaisesRegex(exc, r, fun, *args, **kwds) |
fun(*args, **kwds) gây ra exc và thông điệp khớp với regex r |
assertWarns(warn, fun, *args, **kwds) |
fun(*args, **kwds) gây ra warn |
assertWarnsRegex(warn, r, fun, *args, **kwds) |
fun(*args, **kwds) gây ra warn và thông điệp khớp với regex r |
assertLogs(logger, level) |
Khối with ghi log trên logger với mức tối thiểu |
assertNoLogs(logger, level) |
Khối with không ghi log trên logger với mức tối thiểu |
Bảng sau đây liệt kê các phương thức assert thực hiện kiểm tra cụ thể hơn:
| Phương thức | Kiểm tra điều kiện |
|---|---|
assertAlmostEqual(x, y) |
round(x-y, 7) == 0 |
assertNotAlmostEqual(x, y) |
round(x-y, 7) != 0 |
assertGreater(x, y) |
x > y |
assertGreaterEqual(x, y) |
x >= y |
assertLess(x, y) |
x < y |
assertLessEqual(x, y) |
x <= y |
assertRegex(s, r) |
r.search(s) |
assertNotRegex(s, r) |
not r.search(s) |
assertCountEqual(x, y) |
x và y có cùng số lượng phần tử và số lần xuất hiện giống nhau |
Trong các hướng dẫn tiếp theo, bạn sẽ tìm hiểu chi tiết về các phương thức assert của unittest và cách sử dụng chúng hiệu quả. Việc nắm vững các phương thức này sẽ giúp bạn viết các kiểm thử đơn vị chính xác và mạnh mẽ hơn, từ đó nâng cao chất lượng và độ tin cậy của mã nguồn. Hãy cùng tiếp tục khám phá để trở thành một chuyên gia trong việc kiểm thử phần mềm bằng Python.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng