Rust

Testing

Unit test, integration test, doc test, assertion, should_panic, benchmark, tổ chức test

18 câu hỏi phỏng vấn·
Mid-Level
1

Thuộc tính nào đánh dấu một hàm là unit test trong Rust?

Câu trả lời

Thuộc tính #[test] cho trình biên dịch Rust biết rằng hàm được chú thích là một unit test. Khi chạy cargo test, tất cả các hàm được đánh dấu bằng thuộc tính này sẽ được tự động phát hiện và thực thi. Các test chỉ được biên dịch với profile test và không được đưa vào binary production.

2

Lệnh Cargo nào chạy tất cả các test trong một dự án Rust?

Câu trả lời

Lệnh cargo test biên dịch dự án với các test được bật và chạy tất cả unit test, integration test và documentation test. Nó tự động phát hiện các hàm được đánh dấu #[test], các test trong thư mục tests/ và các ví dụ mã trong tài liệu. Các tùy chọn cho phép lọc test theo tên hoặc module.

3

Nên dùng macro nào để kiểm tra hai giá trị bằng nhau trong một test?

Câu trả lời

Macro assert_eq! so sánh hai giá trị và làm test thất bại nếu chúng không bằng nhau. Nhờ trait Debug, nó tự động hiển thị các giá trị được so sánh khi thất bại, giúp việc debug dễ dàng hơn. Khác với assert!, nó cung cấp thông báo lỗi nhiều thông tin hơn cho thấy giá trị mong đợi và giá trị thực tế.

4

Các integration test nên được đặt ở đâu trong một dự án Rust?

5

Nên dùng thuộc tính nào để kiểm tra rằng một hàm gây ra panic?

+15 câu hỏi phỏng vấn

Nắm vững Rust cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí