
Testing
Unit test, integration test, doc test, assertion, should_panic, benchmark, tổ chức test
1Thuộc tính nào đánh dấu một hàm là unit test trong Rust?
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.
2Lệnh Cargo nào chạy tất cả các test trong một dự án Rust?
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.
3Nên dùng macro nào để kiểm tra hai giá trị bằng nhau trong một test?
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ế.
Các integration test nên được đặt ở đâu trong một dự án Rust?
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
Các chủ đề phỏng vấn Rust khác
Cơ bản về Rust
Ownership & Borrowing
Structs & Enums
Xử lý lỗi
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialization
Unsafe Rust
Trait nâng cao
Lifetime Nâng Cao
Type System
Tokio & Async I/O
Tối ưu hóa Hiệu suất
Memory Management
Web Frameworks
Database Integration
Design Pattern trong Rust
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í