Rocket - Hello World
cargo add rocket
examples/rocket/hello-world/Cargo.toml
[package] name = "hello-world" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] rocket = "0.5.1"
examples/rocket/hello-world/src/main.rs
#[macro_use] extern crate rocket; #[get("/")] fn index() -> &'static str { "Hello, world!" } #[launch] fn rocket() -> _ { rocket::build().mount("/", routes![index]) } #[cfg(test)] mod test { use rocket::http::Status; use rocket::local::blocking::Client; #[test] fn hello_world() { let client = Client::tracked(super::rocket()).unwrap(); let response = client.get("/").dispatch(); assert_eq!(response.status(), Status::Ok); assert_eq!(response.into_string(), Some("Hello, world!".into())); } }
cargo test
cargo run
$ curl -i http://127.0.0.1:8000/
- Content-type is text/plain