Una skill para agentes de programación que les exige demostrar la validez de su código con un flujo que empieza por el plan de pruebas, una batería de verificaciones y un informe de evidencias.
mbj/mutant
Pruebas de mutación para Ruby: modifica el código e informa qué cambios no detecta la suite de pruebas.
- Estrellas
- 2,212
- Forks
- 163
- Issues abiertos
- 127
- Último commit
- ayer
¿Qué es?
Mutant es una herramienta de pruebas de mutación para Ruby. Aplica sistemáticamente pequeños cambios al código, como intercambiar operadores, eliminar instrucciones o modificar valores de retorno, y luego ejecuta las pruebas con cada cambio. Las mutaciones que no hacen fallar ninguna prueba se marcan como vivas, lo que señala comportamientos que las pruebas no verifican realmente.
Cada mutación viva requiere tomar una decisión: simplificar el código porque las pruebas ya determinan el comportamiento correcto, o añadir la prueba que falta. Esto resulta útil cuando herramientas de IA generan el código o las pruebas, ya que el hecho de que las pruebas pasen no demuestra por sí solo que comprueben algo significativo.
Mutant se integra con RSpec, Minitest y Test::Unit, y funciona con aplicaciones Rails mediante el aislamiento de la base de datos por worker. Admite ejecuciones incrementales para CI, guarda los resultados de las sesiones para revisarlos más adelante y es gratuito para proyectos de código abierto; para uso comercial requiere una licencia de pago.
Funciones clave
- 01Aplica mutaciones de operadores, instrucciones y valores de retorno al código Ruby, y ejecuta las pruebas con cada una.
- 02Informa de las mutaciones vivas, que señalan comportamientos no cubiertos por las pruebas.
- 03Se integra con RSpec, Minitest y Test::Unit.
- 04Admite Rails con aislamiento de la base de datos entre workers en PostgreSQL y SQLite.
- 05Ofrece un modo incremental para ejecutarse en CI y guarda el historial de sesiones para revisar resultados anteriores.
Casos de uso
- Comprobar si las pruebas escritas por asistentes de IA verifican realmente el comportamiento del código.
- Encontrar puntos débiles en una suite de pruebas de Ruby existente antes de refactorizar.
- Ejecutar pruebas de mutación incrementales en CI solo para el código modificado.
Inicio rápido
- 1
Instala la gema de integración de RSpec
gem install mutant-rspec - 2
Ejecuta mutant sobre un sujeto de tu código
mutant run --use rspec --usage opensource --require ./lib/person 'Person#adult?'
Antes de usarlo
- Solo es compatible con Linux y macOS.
- Es gratis solo para proyectos de código abierto; el uso comercial requiere una suscripción de pago.
- El README no indica una licencia de código abierto clara (los metadatos muestran NOASSERTION).
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es mutant?
- Pruebas de mutación para Ruby: modifica el código e informa qué cambios no detecta la suite de pruebas. Mutant es una herramienta de pruebas de mutación para Ruby. Aplica sistemáticamente pequeños cambios al código, como intercambiar operadores, eliminar instrucciones o modificar valores de retorno, y luego ejecuta las pruebas con cada cambio. Las mutaciones que no hacen fallar ninguna prueba se marcan como vivas, lo que señala comportamientos que las pruebas no verifican realmente.
- ¿mutant es gratuito? ¿Qué licencia tiene?
- mutant es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿mutant sigue mantenido?
- Mantenimiento activo. El último commit de mutant fue el 6 nov 2026.
- ¿Para qué puedo usar mutant?
- Comprobar si las pruebas escritas por asistentes de IA verifican realmente el comportamiento del código. Encontrar puntos débiles en una suite de pruebas de Ruby existente antes de refactorizar. Ejecutar pruebas de mutación incrementales en CI solo para el código modificado.
- ¿Cómo se instala mutant?
- Instala la gema de integración de RSpec: gem install mutant-rspec Ejecuta mutant sobre un sujeto de tu código: mutant run --use rspec --usage opensource --require ./lib/person 'Person#adult?'
- ¿Dónde consigo mutant?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/mbj/mutant
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Colección lista para usar de linters y formateadores que se ejecuta como GitHub Action o contenedor independiente para revisar y corregir código.
CLI de Python que mide cuántas funciones, clases, métodos y módulos de una base de código tienen docstrings, con umbrales de aprobado o error aptos para CI.
Una biblioteca gratuita de cobertura de código Java que mide qué partes del bytecode de Java ejecutan las pruebas.
Paquete de Python que sube los resultados de coverage.py a coveralls.io para publicar estadísticas de cobertura en línea.
GitLab Community Edition autohospedado: una aplicación web en Ruby on Rails para gestionar repositorios Git, revisiones de código, CI/CD y seguimiento de incidencias.