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.