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