# Testing (Rust) > Unit test, integration test, doc test, assertion, should_panic, benchmark, การจัดระเบียบ test - 18 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: Rust](https://sharpskill.dev/th/technologies/rust/interview-questions.md) ## 1. แอตทริบิวต์ใดที่ทำเครื่องหมายฟังก์ชันให้เป็น unit test ใน Rust? **คำตอบ** แอตทริบิวต์ #[test] บอกคอมไพเลอร์ Rust ว่าฟังก์ชันที่ถูกกำกับเป็น unit test เมื่อรัน cargo test ฟังก์ชันทั้งหมดที่ทำเครื่องหมายด้วยแอตทริบิวต์นี้จะถูกค้นพบและรันโดยอัตโนมัติ test จะถูกคอมไพล์ด้วยโปรไฟล์ test เท่านั้นและจะไม่ถูกรวมไว้ใน binary สำหรับการใช้งานจริง ## 2. คำสั่ง Cargo ใดที่รัน test ทั้งหมดในโปรเจกต์ Rust? **คำตอบ** คำสั่ง cargo test คอมไพล์โปรเจกต์โดยเปิดใช้งาน test และรัน unit test, integration test และ documentation test ทั้งหมด มันจะค้นพบฟังก์ชันที่ทำเครื่องหมาย #[test], test ในไดเรกทอรี tests/ และตัวอย่างโค้ดในเอกสารโดยอัตโนมัติ ตัวเลือกต่าง ๆ ช่วยให้สามารถกรอง test ตามชื่อหรือ module ได้ ## 3. ควรใช้ macro ใดเพื่อตรวจสอบว่าค่าสองค่าเท่ากันใน test? **คำตอบ** macro assert_eq! เปรียบเทียบค่าสองค่าและทำให้ test ล้มเหลวหากค่าทั้งสองไม่เท่ากัน มันจะแสดงค่าที่เปรียบเทียบโดยอัตโนมัติเมื่อล้มเหลวด้วย trait Debug ทำให้การ debug ง่ายขึ้น ต่างจาก assert! มันให้ข้อความ error ที่ให้ข้อมูลมากกว่าโดยแสดงค่าที่คาดหวังและค่าที่ได้จริง ## มีอีก 15 คำถาม - ควรวาง integration test ไว้ที่ใดในโปรเจกต์ Rust? - ควรใช้แอตทริบิวต์ใดเพื่อทดสอบว่าฟังก์ชันทำให้เกิด panic? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Rust อื่นๆ - [พื้นฐาน Rust](https://sharpskill.dev/th/technologies/rust/interview-questions/rust-basics.md): 25 คำถาม, Junior - [Ownership & Borrowing](https://sharpskill.dev/th/technologies/rust/interview-questions/ownership-borrowing.md): 22 คำถาม, Junior - [Structs & Enums](https://sharpskill.dev/th/technologies/rust/interview-questions/structs-enums.md): 20 คำถาม, Junior - [การจัดการข้อผิดพลาด](https://sharpskill.dev/th/technologies/rust/interview-questions/error-handling.md): 18 คำถาม, Junior - [คอลเลกชัน](https://sharpskill.dev/th/technologies/rust/interview-questions/collections.md): 20 คำถาม, Junior - [โมดูลและแพ็กเกจ](https://sharpskill.dev/th/technologies/rust/interview-questions/modules-packages.md): 18 คำถาม, Junior - [Traits](https://sharpskill.dev/th/technologies/rust/interview-questions/traits.md): 22 คำถาม, Mid-Level - [Generics](https://sharpskill.dev/th/technologies/rust/interview-questions/generics.md): 20 คำถาม, Mid-Level - [Lifetimes](https://sharpskill.dev/th/technologies/rust/interview-questions/lifetimes.md): 20 คำถาม, Mid-Level - [Iterators & Closures](https://sharpskill.dev/th/technologies/rust/interview-questions/iterators-closures.md): 22 คำถาม, Mid-Level - [Smart Pointers](https://sharpskill.dev/th/technologies/rust/interview-questions/smart-pointers.md): 22 คำถาม, Mid-Level - [Concurrency Basics](https://sharpskill.dev/th/technologies/rust/interview-questions/concurrency-basics.md): 20 คำถาม, Mid-Level - [async/await](https://sharpskill.dev/th/technologies/rust/interview-questions/async-await.md): 22 คำถาม, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/th/technologies/rust/interview-questions/cargo-ecosystem.md): 18 คำถาม, Mid-Level - [Pattern Matching](https://sharpskill.dev/th/technologies/rust/interview-questions/pattern-matching.md): 18 คำถาม, Mid-Level - [มาโคร](https://sharpskill.dev/th/technologies/rust/interview-questions/macros.md): 20 คำถาม, Mid-Level - [Serde และการ Serialization](https://sharpskill.dev/th/technologies/rust/interview-questions/serde-serialization.md): 20 คำถาม, Mid-Level - [Unsafe Rust](https://sharpskill.dev/th/technologies/rust/interview-questions/unsafe-rust.md): 20 คำถาม, Senior - [Trait ขั้นสูง](https://sharpskill.dev/th/technologies/rust/interview-questions/advanced-traits.md): 22 คำถาม, Senior - [Lifetime ขั้นสูง](https://sharpskill.dev/th/technologies/rust/interview-questions/advanced-lifetimes.md): 20 คำถาม, Senior - [Type System](https://sharpskill.dev/th/technologies/rust/interview-questions/type-system.md): 20 คำถาม, Senior - [Tokio & Async I/O](https://sharpskill.dev/th/technologies/rust/interview-questions/tokio-async.md): 22 คำถาม, Senior - [การเพิ่มประสิทธิภาพ](https://sharpskill.dev/th/technologies/rust/interview-questions/performance-optimization.md): 20 คำถาม, Senior - [Memory Management](https://sharpskill.dev/th/technologies/rust/interview-questions/memory-management.md): 20 คำถาม, Senior - [Web Frameworks](https://sharpskill.dev/th/technologies/rust/interview-questions/web-frameworks.md): 22 คำถาม, Senior - [Database Integration](https://sharpskill.dev/th/technologies/rust/interview-questions/database-integration.md): 20 คำถาม, Senior - [Design Pattern ของ Rust](https://sharpskill.dev/th/technologies/rust/interview-questions/design-patterns.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/rust/interview-questions/testing