Rust では、crate 内の型にオプションの機能を持つテストを書きたい場合、cfg_attr
属性と#[cfg(feature = "feature_name")]
属性を使用してこれを行うことができます。
以下は例です:
// in lib.rs or main.rs
#[cfg(feature = "feature_name")]
pub struct MyStruct {
// ...
}
#[cfg(test)]
mod tests {
#[test]
#[cfg(feature = "feature_name")]
fn test_my_struct() {
// テストをここに記述
}
}
この例では、MyStruct
はfeature_name
が有効になっている場合にのみ定義され、同様にtest_my_struct
テストもfeature_name
が有効になっている場合にのみ実行されます。
このテストを実行するには、次のコマンドを使用する必要があります。ここで、my_crate
はあなたの crate の名前です:
cargo test --features feature_name
このコマンドはfeature_name
機能を有効にして、この機能に依存するすべてのテストを実行します。