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:

Cách lưu trữ và tải lại Models trong PyTorch

Cách lưu trữ và tải lại Models trong PyTorch

Tìm hiểu về TensorBoard với PyTorch

Tìm hiểu về TensorBoard với PyTorch

Học chuyển giao (Transfer Learning) trong PyTorch Beginner

Học chuyển giao (Transfer Learning) trong PyTorch Beginner

Hướng dẫn cơ bản mạng Nơ-ron Tích Chập (CNN) trong PyTorch

Hướng dẫn cơ bản mạng Nơ-ron Tích Chập (CNN) trong PyTorch

Mạng Nơ-Ron truyền thẳng (Feed Forward Neural Network) trong PyTorch

Mạng Nơ-Ron truyền thẳng (Feed Forward Neural Network) trong PyTorch

Tìm hiểu Activation Functions trong PyTorch

Tìm hiểu Activation Functions trong PyTorch

Softmax và Cross Entropy trong PyTorch Beginner

Softmax và Cross Entropy trong PyTorch Beginner

Dataset Transforms trong PyTorch Beginner

Dataset Transforms trong PyTorch Beginner

Dataset và DataLoader trong PyTorch Beginner

Dataset và DataLoader trong PyTorch Beginner

Hồi quy Logistic trong PyTorch Beginner

Hồi quy Logistic trong PyTorch Beginner

Hồi quy tuyến tính trong PyTorch Beginner

Hồi quy tuyến tính trong PyTorch Beginner

Training Pipeline trong PyTorch Beginner

Training Pipeline trong PyTorch Beginner

Sử dụng Gradient Descent với Autograd trong PyTorch

Sử dụng Gradient Descent với Autograd trong PyTorch

Hướng dẫn về Tensor cơ bản trong PyTorch

Hướng dẫn về Tensor cơ bản trong PyTorch

Hướng dẫn cài đặt PyTorch với Deep Learning

Hướng dẫn cài đặt PyTorch với Deep Learning

LDA (Linear Discriminant Analysis) trong Python

LDA (Linear Discriminant Analysis) trong Python

Thuật toán AdaBoost trong Python

Thuật toán AdaBoost trong Python

Thuật toán K-Means Clustering trong Python

Thuật toán K-Means Clustering trong Python

Triển khai PCA bằng Python

Triển khai PCA bằng Python

Triển khai thuật toán Random Forest bằng Python

Triển khai thuật toán Random Forest bằng Python

Top