Tests schreiben

Die Bedeutung von Tests

Das Schreiben von Tests ist ein Markenzeichen verantwortungsbewusster Ingenieurskunst und das Geheimnis für einen ruhigen Schlaf. Eine umfassende Testsuite verbessert nicht nur die Codequalität und verhindert Regressionsfehler, sondern sorgt auch dafür, dass Sie nach dem Deployment beruhigt schlafen können. Während Ihre Kollegen vielleicht von nächtlichen Systemabsturz-Warnungen aufgeschreckt werden, bleibt Ihre Anwendung stabil wie ein Fels – das ist die Ruhe und das Vertrauen, die Tests mit sich bringen.

Salvo-Testwerkzeuge

Das von Salvo bereitgestellte Testmodul unterstützt Sie beim Testen von Salvo-basierten Projekten.

Aktuelle Dokumentation

Einfaches Beispiel:

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");
    }
}