Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Phương thức assertTrue() trong Python
Trong bài viết này, bạn sẽ học cách sử dụng phương thức assertTrue()
của Python để kiểm tra xem một biểu thức có đúng hay không và phương thức assertFalse()
để kiểm tra xem một biểu thức có sai hay không.
Giới thiệu về phương thức assertTrue()
của Python
assertTrue()
là một phương thức của lớp TestCase
trong mô-đun unittest
. Phương thức assertTrue()
kiểm tra xem một biểu thức có đúng hay không:
assertTrue(expr, msg=None)
Nếu expr
là True
, bài kiểm tra sẽ thành công. Ngược lại, bài kiểm tra sẽ thất bại.
Tham số msg
là tùy chọn. Nếu bạn truyền tham số msg
, nó sẽ được hiển thị khi bài kiểm tra thất bại.
Bài viết này được đăng tại [free tuts .net]
Phương thức assertTrue()
tương đương với biểu thức sau:
bool(expr) is True
Nó không tương đương với biểu thức sau:
expr is True
Trong thực tế, bạn nên sử dụng phương thức assertTrue()
để kiểm tra giá trị boolean của một biến. Ngoài ra, bạn không nên sử dụng phương thức assertTrue()
nếu có các phương thức cụ thể hơn.
Ví dụ, thay vì sử dụng phương thức assertTrue()
cho trường hợp sau:
assertTrue(a == b)
bạn nên sử dụng phương thức assertEqual()
:
assertEqual(a, b)
Bởi vì phương thức assertEqual()
cung cấp thông báo lỗi rõ ràng hơn trong trường hợp bài kiểm tra thất bại.
Ví dụ về phương thức assertTrue()
của Python
Ví dụ sau sử dụng phương thức assertTrue()
để kiểm tra xem tất cả các ký tự trong chuỗi có phải là chữ số hay không:
import unittest class TestBool(unittest.TestCase): def test_is_digit(self): str = '123' self.assertTrue(str.isdigit())
Chạy bài kiểm tra:
python -m unittest -v
Kết quả:
test_is_digit (test_bool.TestBool) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK
Phương thức assertFalse()
của Python
Phương thức assertFalse()
kiểm tra xem một biểu thức có sai hay không. Ví dụ:
import unittest class TestBool(unittest.TestCase): def test_empty_string_is_digit(self): str = '' self.assertFalse(str.isdigit()) def test_alpha_is_digit(self): str = 'a00' self.assertFalse(str.isdigit())
Chạy bài kiểm tra:
python -m unittest -v
Kết quả:
test_alpha_is_digit (test_bool.TestBool) ... ok test_empty_string_is_digit (test_bool.TestBool) ... ok test_is_digit (test_bool.TestBool) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK