Rust

Testing

ユニットテスト、統合テスト、ドキュメントテスト、アサーション、should_panic、ベンチマーク、テストの構成

18 面接問題·
Mid-Level
1

Rustで関数をユニットテストとしてマークする属性はどれですか?

回答

#[test]属性は、注釈の付いた関数がユニットテストであることをRustコンパイラに伝えます。cargo testを実行すると、この属性が付いたすべての関数が自動的に検出され実行されます。テストはテストプロファイルでのみコンパイルされ、本番バイナリには含まれません。

2

RustプロジェクトのすべてのテストをするCargoコマンドはどれですか?

回答

cargo testコマンドは、テストを有効にしてプロジェクトをコンパイルし、すべてのユニットテスト、統合テスト、ドキュメントテストを実行します。#[test]が付いた関数、tests/ディレクトリ内のテスト、ドキュメント内のコード例を自動的に検出します。オプションを使えば、名前やモジュールでテストをフィルタリングできます。

3

テストで2つの値が等しいことを確認するには、どのマクロを使用すべきですか?

回答

assert_eq!マクロは2つの値を比較し、等しくない場合はテストを失敗させます。Debugトレイトのおかげで失敗時に比較した値を自動的に表示するため、デバッグが容易になります。assert!とは異なり、期待値と実際の値を示すより有益なエラーメッセージを提供します。

4

Rustプロジェクトで統合テストはどこに配置すべきですか?

5

関数がpanicを引き起こすことをテストするには、どの属性を使用すべきですか?

+15 面接問題

次の面接に向けてRustをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める