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:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top