Dev: Ensure tests are run in random
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza con phpunit.xml y las áreas de componentes no marcadas que se enumeran en el issue; después, ejecuta las pruebas relevantes de PHPUnit con executionOrder="random" para identificar dependencias del orden de ejecución. Se considera completado cuando las pruebas del componente seleccionado pasan en orden aleatorio sin dependencias ocultas; el esfuerzo más amplio se completa cuando todas las áreas enumeradas están en verde y phpunit.xml utiliza una ejecución aleatoria.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
PHP Version
8.5.0
CodeIgniter4 Version
4.7.1-dev
Per ChatGPT, tests need to run in random to enjoy the following benefits:
✔️ It reveals hidden dependencies
✔️ Forces true test isolation
✔️ Prevents flaky, misleading test results
✔️ Makes your test suite production-realistic
This issue has been initially tackled by #7717, but due to other complications it didn't fare well. As this is not a fairly easy task, I'm proposing we do it on pieces. Currently, our test suite runs in default order but should be random at some point (i.e., executionOrder="random").
Here's the plan, instead of one big PR changing all tests, we can do it by component (HTTP, Cache, Database, etc.). Then, after all tests run green on randomised testing, we set executionOrder in phpunit.xml to "random".
Please reference this issue for any PRs addressing pieces of this.
- API: #9983
- AutoReview: #10073
- Autoloader: #10073
- Cache
- CLI:
- #9998
- #10014
- Commands
- Config
- Cookie: #10073
- Database
- DataCaster
- DataConverter
- Debug
- Encryption
- Entity
- Events: #10073
- Files: #10073
- Filters: #10373
- Format: #10073
- Helpers
- Honeypot
- HotReloader: #10073
- HTTP: #10372
- I18n
- Images
- Language: #10073
- Log: #10073
- Pager: #10073
- Publisher: #10073
- RESTful: #10073
- Router
- #9967
- Security
- #9969
- #10073
- Session
- Test
- Throttle: #10073
- Typography: #10073
- Validation
- View: #10073
- Lenguaje dominante
- PHP
- Estrellas
- 6k
- Forks
- 2k
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 59
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de codeigniter4/CodeIgniter4
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
codeigniter4/CodeIgniter4#10616 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
codeigniter4/CodeIgniter4#10618 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
codeigniter4/CodeIgniter4#10617 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
codeigniter4/CodeIgniter4#10615 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
codeigniter4/CodeIgniter4#10589 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de codeigniter4/CodeIgniter4
Issues similares
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 4 días
-
Перевод устарел
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
bug
Dificultad 2/5 Medio día Aptitud para principiantes 76/100
m3ue/m3u-editor#1604 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
femiwiki/docker-mediawiki#1497 ·
Los mantenedores suelen responder en 1 día