Giao diện
Module 3: Testing & Checks ✅
📝 Stats
- Số lượng: 5 câu hỏi
- Độ khó: Trung bình
MCQ
Q1. Hàm expect_equal(x, y) so sánh cái gì?
- [ ] So sánh giá trị số (chấp nhận sai số nhỏ do floating point).
- [ ] So sánh identity (phải giống hệt nhau về type, attribute).
- [ ] So sánh địa chỉ bộ nhớ.
Đáp án: So sánh giá trị số (Numerical equality). Dùng
expect_identicalcho sự giống hệt tuyệt đối.
Q2. Quy tắc quan trọng nhất khi viết Unit Test là gì?
- [ ] Test phải độc lập (Independent). Test B không được phụ thuộc vào kết quả Test A.
- [ ] Test càng dài càng tốt.
- [ ] Test phải chạy lâu.
Đáp án: Test phải độc lập.
Coding Challenge
Challenge: Testing Error
Viết một test case kiểm tra xem hàm log(-1) có ném ra lỗi hay cảnh báo không? (Giả sử hàm log của bạn ném lỗi "Negative input").
r
test_that("log throws error on negative input", {
# Giả sử hàm my_log
expect_error(my_log(-1), "Negative input")
})