ship dependency rust rust-cargo

rust - dependency - ¿Cómo optar por no ejecutar una prueba doc?



rust cargo ship (1)

Estoy escribiendo una biblioteca Rust y quiero proporcionar ejemplos en mi documentación que

  1. compilar como parte de la cargo test ejecución
  2. no corras

es posible?

Estoy escribiendo una biblioteca de cliente de base de datos, y los ejemplos hacen uso de un servidor de base de datos hipotético, inexistente. Como tales, los ejemplos siempre fallan cuando se ejecutan, pero es importante que los ejemplos sean válidos sintácticamente. De ahí mis requerimientos anteriores.

Si no hay manera de hacer lo que quiero, entonces, ¿cómo se puede optar por no hacer que cargo test realice una prueba doc. Específica? Es decir, hacer que la cargo run compile y ejecute algunas pruebas de documentos, pero ignore por completo algunas otras.


Esto está documentado en The Rust Programming Language , específicamente el capítulo sobre documentación .

El delimitador de su código de apertura debe tener el siguiente aspecto:

/// ```rust,no_run

Del libro:

/// ```rust,no_run /// loop { /// println!("Hello, world"); /// } /// ```

El atributo no_run compilará tu código, pero no lo ejecutará. Esto es importante para ejemplos como "Aquí se explica cómo recuperar una página web", que le gustaría asegurar compilaciones, pero que podría ejecutarse en un entorno de prueba que no tenga acceso a la red.