Repositorio complementario de Jeresoft Academy para estudiar testing en Rust. Profundiza el estándar transversal de pruebas de RFC-0001 §13 y lo convierte en un curso completo para ingenieros de software.
El objetivo no es memorizar macros ni herramientas. El objetivo es aprender a diseñar software verificable: qué prueba una suite, qué no puede probar, cómo se detectan huecos, cómo se mide confianza y cuándo una prueba empieza a mentir.
- Capítulos en Markdown compatibles con publicación posterior.
- Modelos Rust pequeños para representar decisiones de prueba.
- Ejemplos progresivos: básico, intermedio, avanzado y caso real.
- Tests unitarios, tests de integración y doctests.
- Benchmarks cuando una decisión tenga costo observable.
- Diagramas Mermaid y recursos visuales.
- Ejercicios graduados con soluciones para niveles 1 a 3.
Este curso es complementario. Refuerza todos los repositorios del camino troncal: algoritmos, estructuras de datos, sistemas, arquitectura, cloud, DevOps y dominios aplicados.
Recibe fundamentos de Rust, diseño modular y pensamiento de ingeniería. A su
vez alimenta todos los cursos que necesitan pruebas más expresivas:
rust-cloud, rust-devops, rust-software-architecture, rust-api-design,
rust-performance y rust-projects.
Los diez capítulos técnicos están en estado draft, con modelos Rust,
ejemplos, ejercicios y verificaciones ejecutables. Esto no significa que el
curso esté publicado: la revisión humana de Joel sigue siendo obligatoria antes
de usar reviewed o published.
| # | Capítulo | Módulo sugerido | Estado |
|---|---|---|---|
| 01 | Fundamentos de testing | src/fundamentals.rs |
draft |
| 02 | Unit tests en Rust | src/unit_tests.rs |
draft |
| 03 | Tests de integración | src/integration_tests.rs |
draft |
| 04 | Test doubles | src/test_doubles.rs |
draft |
| 05 | Property-based testing | src/property_testing.rs |
draft |
| 06 | Contract testing | src/contract_testing.rs |
draft |
| 07 | Mutation testing | src/mutation_testing.rs |
draft |
| 08 | Performance testing | src/performance_testing.rs |
draft |
| 09 | Chaos testing | src/chaos_testing.rs |
draft |
| 10 | Estrategia de calidad para sistemas reales | src/quality_strategy.rs |
draft |
Estados posibles: planned, draft, implemented, tested,
benchmarked, reviewed, published. En este repositorio, draft significa
que el material implementado espera revisión humana y no está listo para
publicación.
AGENTS.md
ROADMAP.md
LICENSE.md
LICENSE-MIT
LICENSE-APACHE
LICENSE-CC-BY-SA-4.0.md
course.manifest.json
docs/
src/
examples/
tests/
benches/
diagrams/
assets/
Ejecutar pruebas:
cargo testVerificación completa:
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets
cargo test --doc
cargo bench --all-targets
git diff --checkAdemás, el check remoto rust en GitHub Actions debe pasar antes de considerar
listo cualquier corte o PR autónomo.
AGENTS.mdes la guía de arranque para humanos e IA en este repositorio.course.manifest.jsonexpone el mapa estructurado del curso paraacademy-web.docs/SUMMARY.mdcontiene la navegación del curso.ROADMAP.mdregistra el avance del curso sin convertirlo en una fecha límite.- El plan inicial vive en 11 milestones y 43 issues de GitHub.
- Cada issue accionable debe estar asignado a
jeresoftx, tener labels coherentes y pertenecer al milestone correspondiente. - Antes de tocar código de curso, debe existir un issue y el PR debe cerrar
ese issue con
Closes #N. LICENSE.mdresume la doble licencia: código bajoMIT OR Apache-2.0; contenido educativo bajoCC BY-SA 4.0.
Este repositorio debe poder leerse como un libro de ingeniería. Testing no es un trámite para subir cobertura: es una forma de diseñar software que puede explicarse, verificarse y evolucionar sin perder criterio humano.