Écrire des Tests

L'Importance des Tests

Écrire des tests est la marque d'une ingénierie responsable et le secret pour dormir sur ses deux oreilles. Une suite de tests complète améliore non seulement la qualité du code et prévient les régressions, mais garantit également une tranquillité d'esprit après le déploiement. Alors que vos collègues pourraient être réveillés en sursaut par des alertes de crash système en pleine nuit, votre application reste solide comme un roc—c'est la sérénité et la confiance qu'apportent les tests.

Outils de Test Salvo

Le module de test fourni par Salvo vous aide à tester les projets basés sur Salvo.

Dernière Documentation

Exemple Simple :

use salvo::prelude::*;

#[handler]
async fn hello_world() -> &'static str {
    "Hello World"
}

#[tokio::main]
async fn main() {
    tracing_subscriber::fmt().init();

    tracing::info!("Listening on http://127.0.0.1:8698");
    let acceptor = TcpListener::new("127.0.0.1:8698").bind().await; Server::new(acceptor).serve(route()).await;
}

fn route() -> Router {
    Router::new().get(hello_world)
}

#[cfg(test)]
mod tests {
    use salvo::prelude::*;
    use salvo::test::{ResponseExt, TestClient};

    #[tokio::test]
    async fn test_hello_world() {
        let service = Service::new(super::route());

        let content = TestClient::get(format!("http://127.0.0.1:8698/"))
            .send(&service)
            .await
            .take_string()
            .await
            .unwrap();
        assert_eq!(content, "Hello World");
    }
}