Інші типи тестів
Інтеграційні тести
Якщо ви хочете перевірити свою бібліотеку як клієнт, скористайтеся інтеграційним тестом.
Створіть файл .rs
у tests/
:
// tests/my_library.rs
use my_library::init;
#[test]
fn test_init() {
assert!(init().is_ok());
}
Ці тести мають доступ лише до публічного API вашого ящика.
Тести документації
Rust має вбудовану підтримку для тестування документації:
#![allow(unused)] fn main() { /// Скорочує рядок до заданої довжини. /// /// ``` /// # use playground::shorten_string; /// assert_eq!(shorten_string("Привіт, світ", 5), "Привіт"); /// assert_eq!(shorten_string("Привіт, світ", 20), "Привіт, світ"); /// ``` pub fn shorten_string(s: &str, length: usize) -> &str { &s[..std::cmp::min(length, s.len())] } }
- Блоки коду в коментарях
///
автоматично сприймаються як код Rust. - Код буде скомпільовано та виконано як частину
cargo test
. - Додавання
#
до коду приховає його з документації, але все одно скомпілює/запустить. - Перевірте наведений вище код на Rust Playground.