Đâ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 OK1
import
unittest
class
..... ---------------------------------------------------------------------- Ran 5 tests in 0.000s OK6
..... ---------------------------------------------------------------------- Ran 5 tests in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
import
0. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
import
2. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
import
4
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
import
7. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
unittest
0. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
import
2. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
unittest
5unittest
6unittest
7unittest
8unittest
9
0test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK1
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
4. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
7. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5_______1_______6
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
unittest
5class
3_______94_______4class
5test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK1
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
class
9. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
SimpleTest[unittest.TestCase]:
1. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
SimpleTest[unittest.TestCase]:
4. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5_______1_______6
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5_______1_______9
class
5
1. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
4
5
1
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
9. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK01
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK04
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5_______1_______6
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK08_______2_______5
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK10
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK13
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK14
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK15
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK16
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK1
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK20
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK22
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK25
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK6
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK08_______2_______5
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK31
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK34
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK35
unittest
9. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK37
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK38
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK40
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK42
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK43
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK44
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK45
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK1
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK3
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK4_______2_______5
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK5
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK7
test [__main__.SimpleTest] .. ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK8
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK0
..... ---------------------------------------------------------------------- Ran 5 tests in 0.000s OK0
Đ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