PyUnit – Kiểm thử tự động

Python ngay từ đầu không phải là một công cụ kiểm thử tự động mà là một ngôn ngữ lập trình. Vậy làm thế nào để có thể tạo ra được các kịch bản kiểm thử tự động trên ngôn ngữ Python. Câu trả lời cho vấn đề này là thư viện unittest của Python.

Python unittest, đôi khi còn được gọi là PyUnit, là một nền tảng kiểm thử (testing framework), được phát triển từ JUnit dành cho Python.

Một nền tảng kiểm thử trên một ngôn ngữ lập trình được thiết lập để cho ngôn ngữ lập trình biết phương thức nào là phương thức kiểm thử (testing method), lớp nào là lớp kiểm thử (testing class), kết quả như thế nào là đúng (Passed), như thế nào là sai (Failed)….

Từ khoá chính trong PyUnit

testcase: Từ khoá này được dùng để mô tả cho Python biết lớp đang tương tác là một lớp kiểm thử. Ex: class A(unittest.TestCase):

setup: Từ khoá này được dùng bên trong một lớp kiểm thử. Nó dùng để tạo một phương thức, và phương thức này sẽ được chạy trước khi thực thi mã trong phương thức kiểm thử (Pre-condtion). Ex: def setUp(self):

teardown: Từ khoá này được dùng bên trong một lớp kiềm thử. Nó dùng để tạo một phương thức, và phương thức này sẽ được chạy sau khi thực thi mã trong phương thức kiểm thử (Post-condition). Ex: def tearDown(self):

Ở mức độ cao hơn, chúng ta sẽ có setUpClass(), tearDownClass(), setUpModule() và tearDownModule() với mực độ thực thi ở cấp độ lớp và module

Chúng ta không có từ khoá để xác định phương thức nào là phương thức kiểm thử. Để làm điều này, chúng ta phải đặt tên cho phương thức với tiền tố “test_”. Ex: def test_demo(self):

Thực thi kịch bản kiểm thử

Để thực thi kịch bản kiểm thử với Python, chúng ta có 2 cách như sau.

C1. Tạo một file .py với một lớp kiểm thử và câu lệnh

if __name__ == “__main__”:

    unittest.main()

Như vậy, khi chúng ta thực thi trực tiếp từ file .py, các phương thức kiểm thử bên trong lớp kiểm thử sẽ được gọi và chạy.

C2. Thực thi thông qua cửa sổ Command line.

B1. Tạo một file .py với các lớp kiểm thử bên trong thư mục Python

B2. Mở cửa sổ Command line và đặt con trỏ ở thư mục Python

B3. Thực thi câu lệnh “python –m unittest [tên file .py]

python unittest

Để biết thêm các lựa chọn của unittest, các bạn có thể chạy câu lệnh “python –m unittest –h”.