- Crea el crate raíz `pagetop` y configura el workspace con `helpers/pagetop-macros`. - Añade las macros #[pagetop::main] y #[pagetop::test] que envuelven Actix-web para crear aplicaciones y pruebas asíncronas sin depender explícitamente del framework. - Reexporta, mediante el módulo `service`, los tipos esenciales de Actix-web para gestionar servidores y servicios web. - Implementa `Application::{new, run, test}` para simplificar el arranque y la ejecución de tests. - Expone `pagetop::prelude` con las macros, `service` y `Application` para una API pública coherente. - Incorpora ejemplo `examples/app-basic.rs` que levanta un servidor web vacío con el código mínimo para hacerlo.
15 lines
543 B
Rust
15 lines
543 B
Rust
use pagetop::prelude::*;
|
|
|
|
#[pagetop::test]
|
|
async fn homepage_returns_404() {
|
|
let app = service::test::init_service(Application::new().test()).await;
|
|
|
|
let req = service::test::TestRequest::get().uri("/").to_request();
|
|
let resp = service::test::call_service(&app, req).await;
|
|
|
|
// Comprueba el acceso a la ruta de inicio.
|
|
// assert_eq!(resp.status(), service::http::StatusCode::OK);
|
|
|
|
// Sin ruta de inicio se obtiene error 404, pero el test funciona.
|
|
assert_eq!(resp.status(), service::http::StatusCode::NOT_FOUND);
|
|
}
|