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
機能を有効にし、この機能に依存するすべてのテストを実行します。