Skip to content
Snippets Groups Projects
Commit a40d58b4 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

commentaires avec tests

parent e0866187
Branches
Tags
No related merge requests found
Pipeline #
......@@ -27,7 +27,7 @@ fn main() {
}
</code></pre>
## Commentaires de documentation
## Commentaires de documentation (1/3)
- La commande `cargo doc --open`{.sh} génère la documentation en HTML.
- Les lignes de la documentation doivent commencer avec `///`{.rust}.
......@@ -53,3 +53,53 @@ pub fn add_two_mul_three(x: i32) -> i32 {
![](figs/rust_doc.png){width=100%}
## Commentaires de documentation (2/3)
- La documentation peut être utilisée comme test unitaire: `cargo test`{.sh}.
- Les parties entre triples guillemets sont compilées et exécutées comme tests.
<pre><code data-trim="hljs rust">
/// Cette fonction ajoute deux, puis multiplie par trois.
///
/// # Exemple
///
/// ```
/// use tests::add_two_mul_three;
///
/// let five = 5;
///
/// add_two_mul_three(five);
/// ```
pub fn add_two_mul_three(x: i32) -> i32 {
(x + 2) * 3
}
</code></pre>
- La sortie est de la forme:
<pre><code data-trim="hljs sh">
$ cargo test --doc
Finished dev [unoptimized + debuginfo] target(s) in 0.01s
Doc-tests hello_world
running 1 test
test src/lib.rs - add_two_mul_three (line 11) ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
</code></pre>
## Commentaires de documentation (3/3)
- La documentation du projet en entier se fait avec `//!`{.rust} en début de ligne.
<pre><code data-trim="hljs rust">
//! # Hello world\
//! \
//! `hello_world` est l'exemple typique de tout\
//! cours d'algorithmique.\
\
\
/// Cette fonction ajoute deux, puis multiplie par trois.
</code></pre>
- Le code ci-dessus produit:
![](figs/rust_doc_crate.png){width=100%}
\ No newline at end of file
figs/rust_doc_crate.png

59.8 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment