PYTHON UNIT TESTING
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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 assertIsNone() trong Python

Trong kiểm thử phần mềm, việc đảm bảo rằng các giá trị và trạng thái của biến được xác định chính xác là vô cùng quan trọng. Python cung cấp một loạt các phương thức kiểm thử trong mô-đun unittest để hỗ trợ các nhà phát triển trong việc này. Một trong số đó là phương thức assertIsNone(), giúp kiểm tra xem một biến có giá trị None hay không. Trong bài viết này, mình sẽ tìm hiểu cách sử dụng phương thức assertIsNone() để nâng cao hiệu quả kiểm thử và đảm bảo tính chính xác của mã nguồn.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giới thiệu về phương thức assertIsNone() của Python

Ph C6 B0 C6 A1ng 20th E1 BB A9c 20assert   20trong 20Python 20 8  png

Phương thức assertIsNone() là một phương thức của lớp TestCase trong mô-đun unittest. Phương thức assertIsNone() kiểm tra xem một biểu thức có phải là None hay không:

assertIsNone(expr, msg=None)

Nếu exprNone, 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ó sẽ được hiển thị trong kết quả kiểm tra nếu bài kiểm tra thất bại.

Bài viết này được đăng tại [free tuts .net]

Ví dụ về phương thức assertIsNone() của Python

Hãy cùng xem một số ví dụ về cách sử dụng phương thức assertIsNone().

Sử dụng assertIsNone() với một trường hợp thành công

Ví dụ sau sử dụng assertIsNone() để kiểm tra xem biến message có phải là None hay không:

import unittest

class TestNone(unittest.TestCase):
    def test_variable_none(self):
        message = None
        self.assertIsNone(message)

Chạy kiểm tra:

python -m unittest -v

Kết quả:

test_variable_none (test_none.TestNone) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.000s

Sử dụng assertIsNone() với một trường hợp thất bại

Ví dụ sau sử dụng phương thức assertIsNone() để kiểm tra xem biến message có phải là None hay không:

import unittest

class TestNone(unittest.TestCase):
    def test_variable_not_none(self):
        message = 'Hello'
        self.assertIsNone(message)

Chạy kiểm tra:

python -m unittest -v

Kết quả:

test_variable_not_none (test_none.TestNone) ... FAIL

======================================================================
FAIL: test_variable_not_none (test_none.TestNone)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\python-unit-testing\test_none.py", line 7, in test_variable_not_none
    self.assertIsNone(message)
AssertionError: 'Hello' is not None

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)

message'Hello', nó không phải là None. Do đó, bài kiểm tra thất bại.

Sử dụng assertIsNone() với một trường hợp thất bại và thông báo lỗi

Ví dụ sau sử dụng assertIsNone() để kiểm tra xem biến message có phải là None hay không và hiển thị thông báo lỗi khi kiểm tra thất bại:

import unittest

class TestNone(unittest.TestCase):
    def test_variable_not_none(self):
        message = 'Hello'
        self.assertIsNone(
            message,
            f'The message is "{message}" so it is not None.'
        )

Chạy kiểm tra:

python -m unittest -v

Kết quả:

test_variable_not_none (test_none.TestNone) ... FAIL

======================================================================
FAIL: test_variable_not_none (test_none.TestNone)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\python-unit-testing\test_none.py", line 7, in test_variable_not_none
    self.assertIsNone(
AssertionError: 'Hello' is not None : The message is "Hello" so it is not None.

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)

Phương thức assertIsNotNone() của Python

Phương thức assertIsNotNone() là đối lập của phương thức assertIsNone(). Phương thức assertIsNotNone() kiểm tra xem một biến có phải là None hay không.

assertIsNotNone(expr, msg=None)

Bài kiểm tra sẽ thành công nếu expr không phải là None, ngược lại sẽ thất bại. Ví dụ:

import unittest

class TestNone(unittest.TestCase):
    def test_variable_is_not_none(self):
        message = 'Bye'
        self.assertIsNotNone(message)

Chạy kiểm tra:

python -m unittest -v

Kết quả:

test_variable_is_not_none (test_not_none.TestNone) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK

Kết bài

Trong kiểm thử phần mềm, việc sử dụng các phương thức assert như assertIsNone()assertIsNotNone() giúp đảm bảo tính chính xác và tin cậy của mã nguồn. Bằng cách kiểm tra xem các biến có giá trị None hay không, chúng ta có thể phát hiện và xử lý kịp thời các lỗi tiềm ẩn. Hiểu rõ và áp dụng đúng các phương thức này không chỉ nâng cao chất lượng mã nguồn mà còn giúp các nhà phát triển duy trì và cải thiện phần mềm một cách hiệu quả. Việc sử dụng unittest một cách thành thạo sẽ là công cụ đắc lực trong việc đảm bảo chất lượng phần mềm.

Cùng chuyên mục:

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm match() của Regex trong Python

Hàm match() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm search() trong Python Regex

Hàm search() trong Python Regex

Hàm findall() của regex trong Python

Hàm findall() của regex trong Python

Lookbehind trong Regex của Python

Lookbehind trong Regex của Python

Lookahead trong Python Regex

Lookahead trong Python Regex

Alternation Regex trong Python

Alternation Regex trong Python

Tìm hiểu Backreferences trong regex của Python

Tìm hiểu Backreferences trong regex của Python

Nhóm Non-capturing trong Regex Python

Nhóm Non-capturing trong Regex Python

Các nhóm Capturing trong regex của Python

Các nhóm Capturing trong regex của Python

Sets và Ranges trong Regex của Python

Sets và Ranges trong Regex của Python

Lượng từ non-greed trong Regex của Python

Lượng từ non-greed trong Regex của Python

Chế độ Greedy trong Regex Python

Chế độ Greedy trong Regex Python

Các lượng từ trong Regex của Python

Các lượng từ trong Regex của Python

Regex Word Boundary trong Python

Regex Word Boundary trong Python

Top