Skip to Content
RozdziałyPodstawowe konstrukcje językaTesty jednostkowe

Tworzenie testów jednostkowych

W języku Rust testy jednostkowe są (zazwyczaj) umieszczane w tym samym pliku co kod źródłowy, który testują. Testy umieszczane są w specjalnym module testowym, który jest oznaczony adnotacją #[cfg(test)]. Każdy test umieszczany jest w osobnej funkcji, która jest oznaczona adnotacją #[test].

O organizacji kodu w ramach modułów dowiesz się więcej w trakcie przyszłych zajęć. Na razie skupmy się na nauce tworzenia testów jednostkowych.

Przykładowy test jednostkowy

Poniżej znajduje się przykładowa funkcji sum_array , która sumuje elementy tablicy liczb całkowitych, oraz przykładowe testy jednostkowe.

// Funkcja sumująca elementy tablicy fn sum_array(arr: &[i32]) -> i32 { arr.iter().sum() } // Moduł testowy #[cfg(test)] mod tests { // Importowanie wszystkiego z zewnętrznego zakresu use super::*; // Przykładowy test jednostkowy #[test] fn test_sum_sample_array() { let arr = [1, 2, 3, 4, 5]; assert_eq!(sum_array(&arr), 15); } // Przykładowy test jednostkowy / przypadek brzegowy #[test] fn test_sum_empty_array() { let arr : [i32; 0] = [0; 0]; assert_eq!(sum_array(&arr), 0); } }

Uruchamianie testów

Aby uruchomić testy jednostkowe, użyj polecenia:

cargo test

Polecenie to skompiluje projekt i uruchomi wszystkie testy jednostkowe, wyświetlając wyniki w terminalu.

Poniżej znajduje się przykładowy wynik uruchomienia testu:

running 1 test test tests::test_sum_array ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

Dla pojedynczego pliku testy jednostkowe możesz również uruchomić w Rust Playground.

Last updated on