Skip to content

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_identical cho 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")
})