
Testing
ユニットテスト、統合テスト、ドキュメントテスト、アサーション、should_panic、ベンチマーク、テストの構成
18 面接問題·
Mid-Level
1Rustで関数をユニットテストとしてマークする属性はどれですか?
1
Rustで関数をユニットテストとしてマークする属性はどれですか?
回答
#[test]属性は、注釈の付いた関数がユニットテストであることをRustコンパイラに伝えます。cargo testを実行すると、この属性が付いたすべての関数が自動的に検出され実行されます。テストはテストプロファイルでのみコンパイルされ、本番バイナリには含まれません。
2RustプロジェクトのすべてのテストをするCargoコマンドはどれですか?
2
RustプロジェクトのすべてのテストをするCargoコマンドはどれですか?
回答
cargo testコマンドは、テストを有効にしてプロジェクトをコンパイルし、すべてのユニットテスト、統合テスト、ドキュメントテストを実行します。#[test]が付いた関数、tests/ディレクトリ内のテスト、ドキュメント内のコード例を自動的に検出します。オプションを使えば、名前やモジュールでテストをフィルタリングできます。
3テストで2つの値が等しいことを確認するには、どのマクロを使用すべきですか?
3
テストで2つの値が等しいことを確認するには、どのマクロを使用すべきですか?
回答
assert_eq!マクロは2つの値を比較し、等しくない場合はテストを失敗させます。Debugトレイトのおかげで失敗時に比較した値を自動的に表示するため、デバッグが容易になります。assert!とは異なり、期待値と実際の値を示すより有益なエラーメッセージを提供します。
4
Rustプロジェクトで統合テストはどこに配置すべきですか?
5
関数がpanicを引き起こすことをテストするには、どの属性を使用すべきですか?
+15 面接問題
その他のRust面接トピック
Rustの基礎
Junior
25問Ownership & Borrowing
Junior
22問Structs & Enums
Junior
20問エラー処理
Junior
18問コレクション
Junior
20問モジュールとパッケージ
Junior
18問Traits
Mid-Level
22問Generics
Mid-Level
20問Lifetimes
Mid-Level
20問Iterators & Closures
Mid-Level
22問Smart Pointers
Mid-Level
22問Concurrency Basics
Mid-Level
20問async/await
Mid-Level
22問Cargo & Ecosystem
Mid-Level
18問Pattern Matching
Mid-Level
18問マクロ
Mid-Level
20問Serde とシリアライゼーション
Mid-Level
20問Unsafe Rust
Senior
20問高度なトレイト
Senior
22問高度な lifetime
Senior
20問Type System
Senior
20問Tokio & Async I/O
Senior
22問パフォーマンス最適化
Senior
20問Memory Management
Senior
20問Web Frameworks
Senior
22問Database Integration
Senior
20問Rust デザインパターン
Senior
20問