
Testing
Unit test, integration test, doc test, assertion, should_panic, benchmark, การจัดระเบียบ test
1แอตทริบิวต์ใดที่ทำเครื่องหมายฟังก์ชันให้เป็น unit test ใน Rust?
แอตทริบิวต์ใดที่ทำเครื่องหมายฟังก์ชันให้เป็น unit test ใน Rust?
คำตอบ
แอตทริบิวต์ #[test] บอกคอมไพเลอร์ Rust ว่าฟังก์ชันที่ถูกกำกับเป็น unit test เมื่อรัน cargo test ฟังก์ชันทั้งหมดที่ทำเครื่องหมายด้วยแอตทริบิวต์นี้จะถูกค้นพบและรันโดยอัตโนมัติ test จะถูกคอมไพล์ด้วยโปรไฟล์ test เท่านั้นและจะไม่ถูกรวมไว้ใน binary สำหรับการใช้งานจริง
2คำสั่ง Cargo ใดที่รัน test ทั้งหมดในโปรเจกต์ Rust?
คำสั่ง Cargo ใดที่รัน test ทั้งหมดในโปรเจกต์ Rust?
คำตอบ
คำสั่ง cargo test คอมไพล์โปรเจกต์โดยเปิดใช้งาน test และรัน unit test, integration test และ documentation test ทั้งหมด มันจะค้นพบฟังก์ชันที่ทำเครื่องหมาย #[test], test ในไดเรกทอรี tests/ และตัวอย่างโค้ดในเอกสารโดยอัตโนมัติ ตัวเลือกต่าง ๆ ช่วยให้สามารถกรอง test ตามชื่อหรือ module ได้
3ควรใช้ macro ใดเพื่อตรวจสอบว่าค่าสองค่าเท่ากันใน test?
ควรใช้ macro ใดเพื่อตรวจสอบว่าค่าสองค่าเท่ากันใน test?
คำตอบ
macro assert_eq! เปรียบเทียบค่าสองค่าและทำให้ test ล้มเหลวหากค่าทั้งสองไม่เท่ากัน มันจะแสดงค่าที่เปรียบเทียบโดยอัตโนมัติเมื่อล้มเหลวด้วย trait Debug ทำให้การ debug ง่ายขึ้น ต่างจาก assert! มันให้ข้อความ error ที่ให้ข้อมูลมากกว่าโดยแสดงค่าที่คาดหวังและค่าที่ได้จริง
ควรวาง integration test ไว้ที่ใดในโปรเจกต์ Rust?
ควรใช้แอตทริบิวต์ใดเพื่อทดสอบว่าฟังก์ชันทำให้เกิด panic?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Rust อื่นๆ
พื้นฐาน Rust
Ownership & Borrowing
Structs & Enums
การจัดการข้อผิดพลาด
คอลเลกชัน
โมดูลและแพ็กเกจ
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Cargo & Ecosystem
Pattern Matching
มาโคร
Serde และการ Serialization
Unsafe Rust
Trait ขั้นสูง
Lifetime ขั้นสูง
Type System
Tokio & Async I/O
การเพิ่มประสิทธิภาพ
Memory Management
Web Frameworks
Database Integration
Design Pattern ของ Rust
เชี่ยวชาญ Rust สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี