Exercício – escrever testes de documentação

Concluído 100 XP

Neste exercício, você criará testes de documentação no snippet de código a seguir para as funções div e sub.

Para a função div, escreva os seguintes testes de documentação:

  1. Declare que 10 dividido por 2 é igual a 5.
  2. Declare que 6 dividido por 3 é igual a 2.
  3. Declare que 10 dividido por 0 tem uma pane.

Para a função sub, escreva os seguintes testes de documentação:

  1. Declare que 9 subtraído por 2 é igual a 7.
  2. Declare que 6 subtraído por 9 é igual a -3.
Rust
/// This function divides two numbers.
///
/// # Example #1: 10 / 2 == 5
///
/// ```
/// let result = doctests_exercise::div(...);  // TODO: finish this test!
/// assert_eq!(result, 2);
/// ```
///
/// # Example #2: 6 / 3 = 2
///
/// ```
/// TODO: Write this doctest!
/// ```
///
/// # Panics
///
/// The function panics if the second argument is zero.
///
/// ```rust,should_panic
/// // panics on division by zero
/// TODO: Write this doctest!
/// ```
pub fn div(a: i32, b: i32) -> i32 {
    if b == 0 {
        panic!("Divide-by-zero error");
    }
    a / b
}

/// This function subtracts two numbers.
///
/// # Example #1: 9 - 2 == 7
///
/// ```
/// TODO: Write this doctest!
/// ```
///
/// # Example #2: 6 - 9 == -3
///
/// ```
/// TODO: Write this doctest!
/// ```
pub fn sub(a: i32, b: i32) -> i32 {
    a - b
}

Lembre-se de criar o projeto em seu computador primeiro porque os testes de documentação só estão disponíveis para os crates de biblioteca. Você poderá executar os seguintes comandos em seu terminal para realizar este objetivo:

sh
$ cargo new --lib doctests_exercise
$ cd doctests_exercise

O nome do crate precisa prefixar o nome da função porque ela já foi preenchida para a primeira atribuição desse exercício.

Para encontrar uma versão completa deste exercício, confira este link do Rust Playground.


Unidade seguinte: Escrever testes de integração

Anterior Avançar