Kiểm tra đơn vị trong python với ví dụ là gì?

Đây là mã thử nghiệm cơ bản sử dụng khung unittest, đang có một thử nghiệm duy nhất. Phương thức test[] này sẽ thất bại nếu TRUE là FALSE

Chạy thử nghiệm

if __name__ == '__main__':
    unittest.main[]

Khối cuối cùng giúp chạy thử nghiệm bằng cách chạy tệp thông qua dòng lệnh

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

OK

Ở đây, trong đầu ra, “. ” trên dòng đầu tiên của kết quả có nghĩa là bài kiểm tra đã vượt qua
Tùy chọn “-v” được thêm vào dòng lệnh trong khi chạy thử nghiệm để có được kết quả kiểm tra chi tiết hơn

test [__main__.SimpleTest] .. ok

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

OK

Kết quả có thể
Có ba loại kết quả thử nghiệm có thể xảy ra

  • OK – Điều này có nghĩa là tất cả các bài kiểm tra đều được thông qua
  • KHÔNG ĐẠT – Điều này có nghĩa là bài kiểm tra không vượt qua và một ngoại lệ AssertionError được đưa ra
  • LỖI – Điều này có nghĩa là bài kiểm tra đưa ra một ngoại lệ khác với AssertionError

Hãy xem qua một ví dụ để hiểu việc triển khai unittest framework

Thực hiện




.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

1

import unittest

 

class

.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

6

.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

7

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

3 import0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5import2

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

OK

7import4

 

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

OK

0import7

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

3 unittest0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5import2

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5unittest5unittest6unittest7unittest8unittest9 0
test [__main__.SimpleTest] .. ok

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

OK
1

 

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

OK

0 4

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

3  7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5_______1_______6

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5unittest5class3_______94_______4class5
test [__main__.SimpleTest] .. ok

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

OK
1

 

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

OK

0class9

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

OK

0SimpleTest[unittest.TestCase]:1

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

3 SimpleTest[unittest.TestCase]:4
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5_______1_______6

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5_______1_______9class5 1

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5 4 5 1

 

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

OK

0 9

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

01

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

3
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

04
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5_______1_______6

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

08_______2_______5
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

10

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

13
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

14
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

15
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

16
test [__main__.SimpleTest] .. ok

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

OK
1

 

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

20

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

22

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

OK

0
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

3
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

25
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

6

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

08_______2_______5
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

31

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

34
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

35unittest9
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

37
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

38

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

OK

7
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

40
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

5
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

42

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

OK

43
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

44
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

45
test [__main__.SimpleTest] .. ok

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

OK
1

 

test [__main__.SimpleTest] .. ok

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

OK
3
test [__main__.SimpleTest] .. ok

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

OK
4_______2_______5
test [__main__.SimpleTest] .. ok

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

OK
5
test [__main__.SimpleTest] .. ok

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

OK
7
test [__main__.SimpleTest] .. ok

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

OK
8

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

OK

0
.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

0

Đoạn mã trên là một đoạn script ngắn để kiểm tra 5 phương thức chuỗi. đơn vị nhất. TestCase được sử dụng để tạo các trường hợp thử nghiệm bằng cách phân lớp nó. Khối mã cuối cùng ở dưới cùng cho phép chúng tôi chạy tất cả các bài kiểm tra chỉ bằng cách chạy tệp

Các thuật ngữ cơ bản được sử dụng trong mã

  • assertEqual[] – Câu lệnh này dùng để kiểm tra xem kết quả thu được có bằng kết quả mong đợi hay không
  • assertTrue[] / assertFalse[] – Câu lệnh này được sử dụng để xác minh xem một câu lệnh đã cho là đúng hay sai
  • assertRaises[] – Câu lệnh này được sử dụng để đưa ra một ngoại lệ cụ thể

Mô tả các bài kiểm tra

  • kiểm tra_strings_a
    Phép thử này được sử dụng để kiểm tra thuộc tính của chuỗi trong đó một ký tự nói 'a' nhân với một số nói 'x' cho kết quả là x nhân với 'a'. Câu lệnh assertEqual[] trả về true trong trường hợp này nếu kết quả khớp với đầu ra đã cho
  • test_upper
    Phép thử này dùng để kiểm tra xem chuỗi đã cho có được chuyển thành chữ hoa hay không. Câu lệnh assertEqual[] trả về true nếu chuỗi trả về là chữ hoa
  • test_issupper
    Kiểm tra này được sử dụng để kiểm tra thuộc tính của chuỗi trả về TRUE nếu chuỗi ở dạng chữ hoa, ngược lại trả về Sai. Câu lệnh assertTrue[] / assertFalse[] được sử dụng cho việc xác minh này
  • que thử
    Kiểm tra này được sử dụng để kiểm tra xem tất cả các ký tự được truyền trong hàm đã bị xóa khỏi chuỗi chưa. Câu lệnh assertEqual[] trả về true nếu chuỗi bị tước và khớp với đầu ra đã cho
  • test_split
    Test này dùng để kiểm tra hàm tách chuỗi hàm này tách chuỗi thông qua đối số truyền vào trong hàm và trả về kết quả là danh sách. Câu lệnh assertEqual[] trả về true trong trường hợp này nếu kết quả khớp với đầu ra đã cho

đơn vị nhất. main[] cung cấp giao diện dòng lệnh cho tập lệnh kiểm tra. Khi chạy tập lệnh trên từ dòng lệnh, đầu ra sau được tạo

.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

Bài viết này được đóng góp bởi Aditi Gupta. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng đóng góp. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới donate@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác

Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên

Thử nghiệm đơn vị là gì và ví dụ của nó?

Kiểm tra đơn vị là gì? . Nó được thực hiện trong giai đoạn mã hóa bởi các nhà phát triển. Để thực hiện kiểm tra đơn vị, nhà phát triển viết một đoạn mã [kiểm tra đơn vị] để xác minh mã được kiểm tra [đơn vị] là chính xác. testing the smallest testable unit of an application. It is done during the coding phase by the developers. To perform unit testing, a developer writes a piece of code [unit tests] to verify the code to be tested [unit] is correct.

Kiểm tra đơn vị có nghĩa là gì trong Python?

Kiểm tra đơn vị là các đoạn mã được viết để kiểm tra các đoạn mã khác, thường là một hàm hoặc phương thức đơn lẻ mà chúng tôi gọi là một đơn vị. They are a very important part of the software development process, as they help to ensure that code works as intended and catch bugs early on.

Các công cụ kiểm tra đơn vị cho Python là gì?

Dưới đây là một số framework Kiểm tra Python mà bạn nên biết. .
người máy
PyTest
đơn vị
DocTest
mũi2
làm chứng

Thử nghiệm đơn vị với ví dụ thời gian thực là gì?

Một ví dụ về kịch bản trong thế giới thực có thể được kiểm tra đơn vị là kiểm tra xem cửa ô tô của bạn có thể mở khóa được không , .

Chủ Đề