Chào mừng trở lại.
Bây giờ chúng ta hãy viết các bài kiểm tra đầu tiên của chúng ta.
Chúng tôi sẽ chỉ có một chức năng đơn giản mà chúng tôi chạy trong chương trình này.
Chúng tôi sẽ tạo trong tệp chính của chúng tôi, giả sử hãy làm cho tệp này lớn hơn một chút.
Chúng tôi sẽ nói rằng chúng tôi có một chức năng được gọi là làm công việc.
Có, chức năng mô tả rất tốt.
Bây giờ ở đây, chúng tôi sẽ chỉ nói rằng chúng tôi chấp nhận một số.
Và chúng tôi sẽ chỉ trả về num cộng với năm.
Một chức năng rất, rất đơn giản.
Vì vậy, giả sử đây là mã của chúng tôi để xây dựng ứng dụng của chúng tôi.
Vì vậy, đây chỉ là một chức năng.
Nhưng theo giả thuyết, chúng tôi có nhiều chức năng mà chúng tôi muốn kiểm tra bởi vì đây là những hành động mà chúng
tôi sẽ thực hiện trong mã của mình.
Vì vậy, cách thức hoạt động của unit test.
Là như thế này.
Chúng tôi có tệp thử nghiệm của mình và sau khi nhập thử nghiệm đơn vị của mình, chúng tôi muốn nhập tốt tệp mà chúng tôi muốn kiểm tra trong
trường hợp của chúng tôi đó là tệp chính.
Vì vậy, chúng ta hãy chỉ nhập khẩu.
Chính.
Đó là ngay tại đây.
Hoặc chúng ta cũng có thể nhập hàm nếu chúng ta muốn.
Nhưng trong trường hợp của chúng ta, theo giả thuyết, chúng ta có nhiều chức năng ở đây, vì vậy chúng ta có thể nhập main và sử dụng
tất cả các chức năng có sẵn ở đó.
Bây giờ cách hoạt động của unit test là chúng ta tạo một lớp và sau đó đặt tên cho nó bất cứ thứ gì bạn muốn.
Và ở đây chúng tôi sẽ có tất cả các bài kiểm tra của chúng tôi.
Vì vậy, chúng ta hãy chỉ gọi nó là Test Main.
Và chúng tôi kế thừa bên trong lớp này những gì mà unit test mang lại cho chúng tôi, đó là một bài kiểm tra.
Vì vậy, đây chỉ là một cách tiêu chuẩn để làm việc với kiểm thử đơn vị.
Vì vậy, chúng tôi đang kế thừa bất kỳ trường hợp kiểm thử đơn vị nào và bây giờ chúng tôi có sẵn chức năng đó trong lớp
chính kiểm tra của chúng tôi.
Bây giờ ở đây chúng ta có thể bắt đầu kiểm tra và viết mã để kiểm tra.
Vậy chúng ta có thể test main bằng cách nào?
Làm chức năng công cụ.
Chà, chúng ta chỉ đơn giản nói, hãy viết một hàm vào đây hoặc một phương thức vì đây là một phần của
lớp và nói, Này, tôi muốn kiểm tra, hãy làm mọi thứ.
Và trong đây nó sẽ tự nhận.
Bây giờ ở đây, tôi có thể kiểm tra mã của mình để tôi có thể nói nếu số ở đây bằng mười, tôi chỉ cho nó một
số ngẫu nhiên.
Sau đó, tôi sẽ nói rằng kết quả sẽ bằng nhau về công cụ chấm chính.
Vì vậy, hãy nhớ rằng công cụ đến từ Maine, đó là chức năng mà chúng tôi muốn kiểm tra.
Vì vậy, tôi muốn chạy hàm làm công cụ và trong đây cung cấp tham số num, mà tôi vừa đưa ra ở đây hoặc chúng ta
chỉ cần gọi này là tham số thử nghiệm.
Vì vậy, tham số thử nghiệm này, chúng ta sẽ chạy mã và chúng ta sẽ nhận được kết quả.
Và dòng cuối cùng này là phần quan trọng của bài kiểm tra đơn vị.
Bài kiểm tra đơn vị cho phép chúng ta nói tự chấm, khẳng định bằng và khẳng định bằng nhau là điều mà chúng ta nhận được khi chúng ta
kế thừa từ bài kiểm tra đơn vị và khẳng định bằng nói hey khẳng định.
Hoặc đảm bảo rằng hai tham số này bằng nhau.
Trong trường hợp của chúng tôi, tôi muốn kiểm tra rằng kết quả là bằng tốt, trong trường hợp của chúng tôi là 10.
Cộng với năm nên bằng 15.
Được rồi.
Bây giờ, cuối cùng ở đây, chúng tôi chỉ chạy thử nghiệm đơn vị.
Và cách chúng tôi chạy bài kiểm tra đơn vị, bởi vì đây chỉ là một bài kiểm tra mà tôi đã làm.
Tôi có thể đã làm nhiều bài kiểm tra.
Tất cả những gì chúng ta cần nói là chấm kiểm tra đơn vị chính.
Điều này sẽ chạy toàn bộ tệp thử nghiệm trong chính thử nghiệm.
Bây giờ, nếu tôi chạy nó ngay bây giờ, tất cả những gì tôi phải làm là nói Python 3, dòng lệnh của tôi và nói Kiểm tra dấu chấm pi.
Va tôi lây.
OC đã chạy một bài kiểm tra với tốc độ cực nhanh và 0 giây.
Đó là tốt đẹp và nhanh chóng.
Bây giờ, hãy giả sử tôi làm điều gì đó khác mà tôi khẳng định bằng rằng điều này bằng mười.
Nếu tôi chạy cái này.
Nhìn kìa.
Tôi nhận được một thất bại?
Những gì thất bại?
Chà, kiểm tra chức năng không thành công.
Trên dòng tám.
Vì vậy, đó là ngay ở đây chúng tôi có một lỗi xác nhận.
Chúng tôi có 15, nhưng chúng tôi mong đợi mười.
Làm thế nào là mát đó là?
Vì vậy, bây giờ tôi có một lỗi, vì vậy tôi cần sửa mã của mình.
Vì vậy, có gì đó không đúng ở đây.
Bây giờ, trong trường hợp của tôi, điều này là do tôi đã khẳng định.
Câu trả lời cho B 15.
Nhưng điều gì sẽ xảy ra nếu chúng ta tạo một bài kiểm tra khác ở đây?
Và kiểm tra.
Này, nếu chúng ta cũng có thử nghiệm thì sao.
Và lần này chương trình thử nghiệm thực sự sẽ là một đoạn dây.
Vậy chúng ta muốn hàm làm gì?
Vâng, trong trường hợp của chúng tôi, có thể nó cho chúng tôi một lỗi, có thể là một lỗi giá trị.
Vì vậy, tôi sẽ chỉ nói giá trị.
Bởi vì điều này không nên làm việc.
Nếu tôi chạy nó ngay bây giờ, hãy xóa nó.
Nếu tôi chạy cái này ngay bây giờ.
Được rồi, tôi có hai bài kiểm tra.
Nhưng tôi có một người thừa kế và tôi thấy ở đây rằng tôi đang nhận được một người thừa kế nói rằng, này,
tôi nhận được một typer chỉ có thể nối chuỗi, không phải tám.
Bây giờ, trong trường hợp này, điều gì thực sự không thành công?
Là tệp kiểm tra vì những gì chúng tôi vừa làm thực sự không thành công là chức năng.
Nhưng ngay lập tức.
Tôi thấy điều đó.
Được rồi.
Chà, đây là điều chúng tôi cần sửa để tôi có thể quay lại Maine và nói, này, tôi muốn đảm bảo rằng
chúng tôi đã bắt được bất kỳ lỗi nào.
Như lỗi kiểu hoặc lỗi giá trị.
Vì vậy, điều đầu tiên tôi có thể làm là nói không.
Con số.
Và nếu tôi lưu nó, để đảm bảo rằng chúng tôi chuyển đổi một cái gì đó thành một số nguyên và tôi chạy nó.
Được rồi, bây giờ tôi gặp lỗi giá trị trong chữ value nên không thể chạy trên đoạn chuỗi này.
Được rồi, vì vậy một điều khác chúng ta có thể làm để cải thiện mã của mình là kết thúc nó trong một thử nghiệm ngoại trừ viết khối và sau đó chúng
ta có thể nắm bắt.
Vì vậy, hãy nói ngoại trừ.
Và ở đây chấp nhận một lỗi giá trị.
Và hãy nói như lỗi.
Và ở đây, chúng tôi có thể làm bất cứ điều gì chúng tôi muốn.
Vì vậy, chúng tôi có thể trả lại nếu chúng tôi muốn lỗi hoặc chúng tôi thậm chí có thể nâng cao không khí.
Trong trường hợp của chúng ta, hãy trả lại không khí.
Và tôi sẽ chỉ cho bạn lý do tại sao trong giây lát.
Bây giờ, nếu tôi chạy cái này.
Bạn thấy rằng thử nghiệm của tôi không thành công, nhưng bây giờ nó thực sự là một lỗi xác nhận.
Lỗi xác nhận đến từ tệp thử nghiệm của chúng tôi ở đây và tôi khẳng định rằng, này, tôi muốn
đảm bảo rằng kết quả và lỗi giá trị bằng nhau.
Bây giờ bạn thấy ở đây có một chút không phù hợp.
Chúng tôi có một lỗi giá trị ở đây không bằng lỗi giá trị lớp.
Bây giờ đây là một mẹo nhỏ vì chúng tôi đang trả về một lỗi.
Nó thực sự là một trường hợp của lớp lỗi giá trị.
Vì vậy, chúng ta cần phải làm một cái gì đó như thế này.
Chúng ta cần phải nói, này, là một ví dụ.
Và nói, nó là một ví dụ của cái gì?
Chà, kết quả là một trường hợp lỗi giá trị như thế này.
Nhưng vấn đề ở đây.
Đó là chúng ta hãy làm cho điều này lớn hơn một chút.
Vấn đề ở đây là khẳng định bằng sẽ mong đợi hai tham số, hai thứ phải bằng nhau.
Nhưng ở đây tôi chỉ muốn đảm bảo rằng điều này trả về true, rằng kết quả là một trường hợp của lỗi giá trị.
Vì vậy, làm thế nào tôi có thể làm điều đó?
Chà, ngoài khẳng định bằng nhau, chúng ta có một vài phương pháp khác mà unit test cung cấp cho chúng ta.
Nếu tôi truy cập tài liệu kiểm tra đơn vị ở đây trên dòng đầu tiên, nó cho biết danh sách các phương pháp xác nhận.
Vì vậy, ở đây tôi thấy rằng đây là tất cả các phương pháp để xác nhận và kiểm tra mã của chúng tôi.
Điều mà chúng ta có thể muốn là điều này được khẳng định là đúng.
Để kiểm tra xem điều gì đó là sự thật.
Vì vậy, nếu tôi khẳng định.
Đó là sự thật.
Và tôi đã chạy thử nghiệm của mình.
Hãy xóa điều này và chạy thử nghiệm của tôi một lần nữa.
Của bạn đây.
Tôi đã chạy hai bài kiểm tra và mọi thứ dường như ổn.
Và một lần nữa, để xem xét điều này.
Tại sao thế này?
Tôi đang chạy tệp thử nghiệm của mình.
Và sau đó tôi sẽ chạy thử nghiệm, làm những thứ sẽ ổn.
Sau đó, tôi làm phần thứ hai trong đó tham số kiểm tra là thứ mà chúng tôi không thực sự muốn, đó
chỉ là một đoạn chuỗi.
Kết quả sẽ cung cấp cho chúng tôi một lỗi giá trị vì chúng tôi đã gặp lỗi này và hiện chúng tôi đang trả
lại lỗi.
Và cuối cùng, chúng tôi chạy đoạn mã này.
Này, điều này có đúng không?
Có phải kết quả sẽ là một lỗi giá trị?
Vì vậy, bạn thấy những gì chúng tôi đang làm ở đây.
Những gì chúng tôi đang cố gắng làm với các bài kiểm tra của mình là cải thiện chức năng của chúng tôi bằng cách đơn giản là cố gắng phá vỡ nó.
Vì vậy, chúng tôi muốn phá vỡ chức năng của mình và xem, Này, tôi có thể lừa chức năng này để tạo không khí cho tôi không?
Và sau đó khi bạn làm điều đó và kiểm tra không thành công, sau đó bạn quay lại một chức năng và cố gắng sửa chữa nó.
Giống như chúng tôi đã làm ở đây, thực sự rất, rất tuyệt.
Đây là một thực tế phổ biến với thử nghiệm trong đó bạn thử và phá vỡ mọi thứ cho đến khi, tốt, chức năng trở nên
hoàn hảo.
Bây giờ tôi muốn bạn dành thời gian ở đây và xem liệu bạn có thể phá vỡ chức năng này hay không và có thể thêm một
vài thử nghiệm nữa trong video tiếp theo.
Tôi sẽ thêm một vài cái nữa để làm cho chức năng này tốt hơn nữa.
Hẹn gặp lại các bạn trong phần tiếp theo.