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

commentaires avec tests

parent e0866187
Branches
No related tags found
No related merge requests found
Pipeline #
...@@ -27,7 +27,7 @@ fn main() { ...@@ -27,7 +27,7 @@ fn main() {
} }
</code></pre> </code></pre>
## Commentaires de documentation ## Commentaires de documentation (1/3)
- La commande `cargo doc --open`{.sh} génère la documentation en HTML. - La commande `cargo doc --open`{.sh} génère la documentation en HTML.
- Les lignes de la documentation doivent commencer avec `///`{.rust}. - Les lignes de la documentation doivent commencer avec `///`{.rust}.
...@@ -53,3 +53,53 @@ pub fn add_two_mul_three(x: i32) -> i32 { ...@@ -53,3 +53,53 @@ pub fn add_two_mul_three(x: i32) -> i32 {
![](figs/rust_doc.png){width=100%} ![](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