Proyecto de formación
TDD en seis lenguajes
Escribir la prueba primero, seis veces
El mismo CRUD escrito prueba por prueba en C#, Python, React, PHP, Rust y Go, más los ejercicios de JUnit 5: ocho suites y 137 casos que corren en Docker.
De qué se trata
La primera práctica de Pruebas y gestión de la configuración pedía los ejercicios de JUnit 5, un ejercicio de pruebas unitarias y un CRUD con TDD en tres lenguajes distintos de Java y Kotlin. Entregué seis, los tres obligatorios en C#, Python y React, y además PHP, Rust y Go.
Como los seis resuelven el mismo problema, lo único que cambia entre ellos es el lenguaje y su ecosistema de pruebas. En total son ocho proyectos y 137 casos de prueba, 111 de ellos en los CRUD.
Qué hace
- Un CRUD de listas de reproducción con TDD en seis lenguajes, que son C# con xUnit, Python con pytest, React con Vitest, PHP con PHPUnit, y Rust y Go con sus herramientas de prueba.
- Los seis comparten el modelo, con una entidad validada, un repositorio en memoria, identificadores asignados por el repositorio y dos clases de error, y pruebas que se llaman igual en todos.
- Los ejercicios de la guía de JUnit 5 en Java y Kotlin, y pruebas unitarias frente a integración con Mockito.
- Un docker-compose con un servicio por lenguaje que corre las ocho suites sin instalar ningún SDK.
- Una página de presentación con el código, las pruebas y sus corridas, que también ejecuta cada suite en vivo, local o en Docker.
Decisiones y sus costos
Fijar el problema para comparar lenguajes
Seis implementaciones no se pueden comparar si cada una resuelve algo distinto.
Docker para no depender del equipo de la exposición
Instalar seis SDK en el computador del salón era el riesgo más grande.
Repositorios
Cada repositorio público del proyecto, con lo que contiene.
- 2026Java, Kotlin, C#, Python, PHP, Rust, Go, React
PGCEngineeringSebastian-s
Pruebas y gestión de la configuración, con CRUDs escritos con TDD en seis lenguajes, 111 pruebas además de los ejercicios de JUnit y un script que corre las ocho suites en Docker.
Stack
Elige una tecnología para ver qué proyectos la usan.








