Rust で、crate 内の型にオプションの feature を持つテストを書きたい場合、cfg_attr属性と#[cfg(feature = "feature_name")]属性を使用することができます。
以下は例です:
// lib.rsまたは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機能を有効にし、この機能に依存するすべてのテストを実行します。