Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Kiểm tra đơn vị bằng cách sử dụng đơn nhất mô-đun tích hợp sẵn. Kiểm thử đóng một vai trò quan trọng trong phát triển phần mềm. Bạn sẽ biết các vấn đề trước khi bắt đầu sản xuất.
Chúng ta sẽ tìm hiểu những điều cơ bản về kiểm tra bằng Python bằng cách sử dụng mô-đun tích hợp có tên unittest . Hãy chuyển sang phần hướng dẫn.
Kiểm thử đơn vị là gì?
Nếu bạn lấy hệ thống đăng nhập làm ví dụ. Mỗi trường trong biểu mẫu đăng nhập là một đơn vị / thành phần. Và kiểm tra chức năng của các đơn vị / thành phần đó được gọi là Kiểm tra đơn vị.
Ví dụ
Hãy xem cấu trúc cơ bản của khung công tác đơn nhất.
# importing unittest module import unittest # unittest will test all the methods whose name starts with 'test' class SampleTest(unittest.TestCase): # return True or False def test(self): self.assertTrue(True) # running the test unittest.main()
Đầu ra
Nếu bạn chạy chương trình trên, bạn sẽ nhận được kết quả sau.
---------------------------------------------------------------------- Ran 1 test in 0.001s OK
2. Phương thức chuỗi kiểm tra
Bây giờ, chúng ta sẽ thử nghiệm các phương thức chuỗi khác nhau với các trường hợp thử nghiệm mẫu. Hãy nhớ rằng tên phương thức phải bắt đầu bằng test.
Hãy xem phần giới thiệu ngắn gọn về từng phương pháp mà chúng tôi sẽ viết.
-
test_string_equality
-
Phương pháp này kiểm tra xem hai chuỗi có bằng nhau hay không bằng cách sử dụng khẳng địnhEqaul phương pháp unittest.TestCase.
-
-
test_string_case
-
Phương pháp này kiểm tra xem hai trường hợp chuỗi có bằng nhau hay không bằng cách sử dụng khẳng địnhEqaul phương pháp unittest.TestCase.
-
-
test_is_string_upper
-
Phương thức này kiểm tra xem chuỗi có ở dạng chữ hoa hay không bằng cách sử dụng khẳng định và khẳng địnhFalse phương pháp của unittest.TestCase .
-
Ví dụ
# importing unittest module import unittest class TestingStringMethods(unittest.TestCase): # string equal def test_string_equality(self): # if both arguments are equal then it's succes self.assertEqual('ttp' * 5, 'ttpttpttpttpttp') # comparing the two strings def test_string_case(self): # if both arguments are equal then it's succes self.assertEqual('tutorialspoint'.upper(), 'TUTORIALSPOINT') # checking whether a string is upper or not def test_is_string_upper(self): # used to check whether the statement is True or False # the result of expression inside the **assertTrue** must be True to pass the test case # the result of expression inside the **assertFalse** must be False to pass the test case self.assertTrue('TUTORIALSPOINT'.isupper()) self.assertFalse('TUTORIALSpoint'.isupper()) # running the tests unittest.main()
Đầu ra
Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau nếu tất cả các trường hợp kiểm tra đều vượt qua.
... ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK
Ví dụ
Chạy chương trình sau để xem kết quả trường hợp thử nghiệm không thành công.
# importing unittest module import unittest class TestingStringMethods(unittest.TestCase): # string equal def test_string_equality(self): # if both arguments are equal then it's succes self.assertEqual('ttp' * 5, 'ttpttpttpttpttp') # comparing the two strings def test_string_case(self): # if both arguments are equal then it's succes self.assertEqual('tutorialspoint'.upper(), 'TUTORIALSPOINT') # checking whether a string is upper or not def test_is_string_upper(self): # used to check whether the statement is True or False # the result of expression inside the **assertTrue** must be True to pass the test case # the result of expression inside the **assertFalse** must be False to pass the test case self.assertTrue('TUTORIALSPOINt'.isupper()) self.assertFalse('TUTORIALSpoint'.isupper()) # running the tests unittest.main()
Đầu ra
Nếu bạn chạy chương trình trên, bạn sẽ nhận được kết quả sau.
====================================================================== FAIL: test_is_string_upper (__main__.TestingStringMethods) ---------------------------------------------------------------------- Traceback (most recent call last): File "p:/Python Work/Stopwatch/practice.py", line 21, in test_is_string_upper self.assertTrue('TUTORIALSPOINt'.isupper()) AssertionError: False is not true ---------------------------------------------------------------------- Ran 3 tests in 0.016s FAILED (failures=1)
Chúng tôi sẽ thông báo không thành công ngay cả khi một trường hợp thử nghiệm không thành công trong số tất cả các trường hợp thử nghiệm.
Kết luận
Nếu bạn có bất kỳ nghi ngờ nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.