ドキュメント テストを記述する

完了

Rust を使用すると、テストとしてドキュメントの例を実行できます。 Rust ライブラリをドキュメント化する主な方法は、"ドキュメントのコメント" と呼ばれる 3 つのスラッシュ (///) でソース コードに注釈を付けることです。 ドキュメントのコメントは Markdown で記述され、コード ブロックがサポートされているので、これらのコード ブロックはコンパイルされ、テストとして使用されます。

この機能を試すには、最初に新しいライブラリ プロジェクトを作成する必要があります。

$ cargo new --lib basic_math
$ cd basic_math

Visual Studio Code で src/lib.rs ファイルを開き、既存の内容を次のコードに置き換えます。

/// Generally, the first line is a brief summary describing the function.
///
/// The next lines present detailed documentation. 
/// Code blocks start with triple backticks. The code has an implicit `fn main()` inside and `extern crate <cratename>`,  
/// which means you can just start writing code.
///
/// ```
/// let result = basic_math::add(2, 3);
/// assert_eq!(result, 5);
/// ```
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

単体テストと同様に、ドキュメント テストは、パニックなしで実行された場合に成功します。 特定の結果を確認するには、assert! マクロを使用して、実際の出力が想定どおりであることを確認します。 コマンド $ cargo test を使用して、このコードのテスト スイートを呼び出すことができます。出力は次の例のようになります。

$ cargo test
    Finished test [unoptimized + debuginfo] target(s) in 0.00s
     Running target/debug/deps/basic_math-910b859a2a6f3c3f

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests basic_math

running 1 test
test src/lib.rs - add (line 6) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

出力には、0 個の単体テストと 1 つのドキュメント テストがあることが示されています。