@the-bearded-bear/claude-craft 8.8.1 → 8.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/Dev/i18n/de/Angular/commands/check-compliance.md +218 -168
  2. package/Dev/i18n/de/Common/agents/refactoring-specialist.md +146 -69
  3. package/Dev/i18n/de/Common/commands/add-technology.md +166 -68
  4. package/Dev/i18n/de/Common/commands/setup-ci.md +216 -33
  5. package/Dev/i18n/de/Laravel/commands/check-compliance.md +223 -115
  6. package/Dev/i18n/de/Python/checklists/new-feature.md +319 -44
  7. package/Dev/i18n/de/React/rules/02-architecture.md +483 -322
  8. package/Dev/i18n/de/React/rules/03-coding-standards.md +584 -368
  9. package/Dev/i18n/de/Symfony/commands/check-compliance.md +186 -114
  10. package/Dev/i18n/de/Symfony/rules/07-testing-symfony.md +679 -10
  11. package/Dev/i18n/de/UIUX/commands/a11y-component.md +284 -26
  12. package/Dev/i18n/de/UIUX/commands/design-tokens.md +199 -35
  13. package/Dev/i18n/de/UIUX/commands/user-flow.md +179 -16
  14. package/Dev/i18n/de/VueJS/commands/check-compliance.md +227 -102
  15. package/Dev/i18n/es/Angular/commands/check-compliance.md +217 -167
  16. package/Dev/i18n/es/Common/commands/add-technology.md +158 -60
  17. package/Dev/i18n/es/Laravel/commands/check-compliance.md +223 -115
  18. package/Dev/i18n/es/React/commands/check-testing.md +263 -169
  19. package/Dev/i18n/es/ReactNative/commands/check-testing.md +256 -198
  20. package/Dev/i18n/es/Symfony/commands/check-compliance.md +189 -117
  21. package/Dev/i18n/es/Symfony/commands/check-testing.md +301 -102
  22. package/Dev/i18n/es/Symfony/commands/migration-plan.md +267 -34
  23. package/Dev/i18n/es/UIUX/commands/a11y-component.md +274 -16
  24. package/Dev/i18n/es/UIUX/commands/design-tokens.md +186 -22
  25. package/Dev/i18n/es/UIUX/commands/user-flow.md +173 -10
  26. package/Dev/i18n/es/VueJS/commands/check-compliance.md +227 -102
  27. package/Dev/i18n/fr/Angular/commands/check-compliance.md +217 -167
  28. package/Dev/i18n/fr/Common/commands/ralph-run.md +138 -60
  29. package/Dev/i18n/fr/Laravel/commands/check-compliance.md +223 -115
  30. package/Dev/i18n/fr/React/commands/check-architecture.md +370 -53
  31. package/Dev/i18n/fr/React/commands/check-code-quality.md +454 -64
  32. package/Dev/i18n/fr/React/commands/check-testing.md +476 -102
  33. package/Dev/i18n/fr/Symfony/commands/check-compliance.md +188 -116
  34. package/Dev/i18n/fr/VueJS/commands/check-compliance.md +227 -102
  35. package/Dev/i18n/pt/Angular/commands/check-compliance.md +225 -175
  36. package/Dev/i18n/pt/Common/agents/ralph-conductor.md +211 -30
  37. package/Dev/i18n/pt/Common/commands/add-technology.md +149 -51
  38. package/Dev/i18n/pt/Common/commands/ralph-run.md +239 -35
  39. package/Dev/i18n/pt/Flutter/commands/analyze-performance.md +331 -46
  40. package/Dev/i18n/pt/Flutter/commands/check-compliance.md +234 -29
  41. package/Dev/i18n/pt/Flutter/commands/generate-feature.md +526 -51
  42. package/Dev/i18n/pt/Flutter/commands/generate-widget.md +515 -27
  43. package/Dev/i18n/pt/Flutter/commands/golden-update.md +322 -46
  44. package/Dev/i18n/pt/Flutter/commands/localization-check.md +278 -37
  45. package/Dev/i18n/pt/Laravel/commands/check-compliance.md +212 -104
  46. package/Dev/i18n/pt/React/commands/accessibility-check.md +151 -42
  47. package/Dev/i18n/pt/React/commands/bundle-analyze.md +300 -25
  48. package/Dev/i18n/pt/React/commands/check-architecture.md +369 -34
  49. package/Dev/i18n/pt/React/commands/check-code-quality.md +440 -34
  50. package/Dev/i18n/pt/React/commands/check-compliance.md +232 -62
  51. package/Dev/i18n/pt/React/commands/check-security.md +370 -31
  52. package/Dev/i18n/pt/React/commands/check-testing.md +473 -43
  53. package/Dev/i18n/pt/React/commands/generate-component.md +454 -19
  54. package/Dev/i18n/pt/React/commands/generate-hook.md +425 -24
  55. package/Dev/i18n/pt/React/commands/storybook-story.md +520 -35
  56. package/Dev/i18n/pt/ReactNative/commands/app-size.md +358 -387
  57. package/Dev/i18n/pt/ReactNative/commands/check-code-quality.md +246 -75
  58. package/Dev/i18n/pt/ReactNative/commands/check-compliance.md +191 -85
  59. package/Dev/i18n/pt/ReactNative/commands/check-security.md +363 -115
  60. package/Dev/i18n/pt/ReactNative/commands/check-testing.md +269 -79
  61. package/Dev/i18n/pt/ReactNative/commands/generate-screen.md +491 -324
  62. package/Dev/i18n/pt/ReactNative/commands/native-module.md +539 -82
  63. package/Dev/i18n/pt/ReactNative/commands/store-prepare.md +429 -185
  64. package/Dev/i18n/pt/ReactNative/rules/02-architecture.md +1084 -31
  65. package/Dev/i18n/pt/Symfony/commands/check-compliance.md +195 -123
  66. package/Dev/i18n/pt/UIUX/commands/a11y-audit.md +208 -24
  67. package/Dev/i18n/pt/UIUX/commands/a11y-component.md +281 -23
  68. package/Dev/i18n/pt/UIUX/commands/design-tokens.md +197 -33
  69. package/Dev/i18n/pt/UIUX/commands/user-flow.md +183 -20
  70. package/Dev/i18n/pt/VueJS/commands/check-compliance.md +228 -103
  71. package/Dev/i18n/pt/Workflow/commands/analyze.md +147 -146
  72. package/Dev/i18n/pt/Workflow/commands/design.md +205 -204
  73. package/Dev/i18n/pt/Workflow/commands/implement.md +184 -184
  74. package/Project/i18n/de/Sprint/commands/dev.md +339 -86
  75. package/Project/i18n/es/Sprint/commands/dev.md +342 -91
  76. package/Project/i18n/pt/Sprint/commands/dev.md +343 -92
  77. package/bundles/cursor/.cursorrules +1 -1
  78. package/bundles/windsurf/.windsurfrules +1 -1
  79. package/package.json +1 -1
@@ -15,183 +15,201 @@ $ARGUMENTS : Ruta del proyecto Symfony a auditar (opcional, por defecto: directo
15
15
 
16
16
  ## MISIÓN
17
17
 
18
- Eres un experto en tests de software encargado de auditar la estrategia de testing de un proyecto Symfony: tests unitarios, de integración, funcionales, cobertura de código y tests de mutación.
18
+ Eres un experto en pruebas de software encargado de auditar la estrategia de testing de un proyecto Symfony: pruebas unitarias, de integración, funcionales, cobertura de código y pruebas de mutación.
19
19
 
20
- ### Paso 1: Verificación del Entorno de Test
20
+ ### Paso 1: Verificación del Entorno de Pruebas
21
21
 
22
- 1. Identifica el directorio del proyecto
23
- 2. Verifica la presencia de PHPUnit en composer.json
24
- 3. Verifica la configuración de PHPUnit (phpunit.xml.dist)
25
- 4. Verifica la presencia de la carpeta tests/
22
+ 1. Identificar el directorio del proyecto
23
+ 2. Verificar la presencia de PHPUnit en composer.json
24
+ 3. Verificar la configuración de PHPUnit (phpunit.xml.dist)
25
+ 4. Verificar la presencia del directorio tests/
26
26
 
27
27
  **Referencia a las reglas**: `.claude/rules/symfony-testing.md`
28
28
 
29
- ### Paso 2: Estructura de Tests
29
+ ### Paso 2: Estructura de las Pruebas
30
30
 
31
- Analiza la estructura de la carpeta tests/:
31
+ Analizar la estructura del directorio tests/:
32
32
 
33
33
  ```bash
34
- # Listar la estructura de tests
34
+ # Listar la estructura de las pruebas
35
35
  docker run --rm -v $(pwd):/app php:8.2-cli find /app/tests -type d
36
36
  ```
37
37
 
38
- #### Organización de Tests (3 puntos)
38
+ #### Organización de las Pruebas (3 puntos)
39
39
 
40
- - [ ] Carpeta `tests/Unit/` para tests unitarios
41
- - [ ] Carpeta `tests/Integration/` para tests de integración
42
- - [ ] Carpeta `tests/Functional/` para tests funcionales
40
+ - [ ] Directorio `tests/Unit/` para pruebas unitarias
41
+ - [ ] Directorio `tests/Integration/` para pruebas de integración
42
+ - [ ] Directorio `tests/Functional/` para pruebas funcionales
43
43
  - [ ] Estructura espejo de src/ en tests/
44
44
  - [ ] Namespace correctamente configurado
45
45
  - [ ] Fixtures en tests/Fixtures/
46
- - [ ] Mocks en tests/Mock/ o inline
47
- - [ ] Configuración de test separada (config/packages/test/)
48
- - [ ] Base de datos de test separada
49
- - [ ] Tests aislados e independientes
46
+ - [ ] Mocks en tests/Mock/ o en línea
47
+ - [ ] Configuración de prueba separada (config/packages/test/)
48
+ - [ ] Base de datos de prueba separada
49
+ - [ ] Pruebas aisladas e independientes
50
50
 
51
51
  **Puntos obtenidos**: ___/3
52
52
 
53
- ### Paso 3: Tests Unitarios
53
+ ### Paso 3: Pruebas Unitarias
54
54
 
55
- Ejecuta los tests unitarios:
55
+ Ejecutar las pruebas unitarias:
56
56
 
57
57
  ```bash
58
- # Ejecutar tests unitarios únicamente
58
+ # Ejecutar solo las pruebas unitarias
59
59
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit --testdox
60
60
 
61
- # Contar tests unitarios
61
+ # Contar las pruebas unitarias
62
62
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit --list-tests | wc -l
63
63
  ```
64
64
 
65
- #### Tests Unitarios Domain (7 puntos)
65
+ #### Pruebas Unitarias del Dominio (7 puntos)
66
66
 
67
- - [ ] Tests para todas las Entities del Domain
68
- - [ ] Tests para todos los Value Objects
69
- - [ ] Tests para todos los Domain Services
70
- - [ ] Tests para los Use Cases / Application Services
67
+ - [ ] Pruebas para todas las Entidades del Dominio
68
+ - [ ] Pruebas para todos los Value Objects
69
+ - [ ] Pruebas para todos los Servicios de Dominio
70
+ - [ ] Pruebas para los Use Cases / Application Services
71
71
  - [ ] Sin dependencias externas (BD, API, filesystem)
72
72
  - [ ] Uso de mocks para las dependencias
73
- - [ ] Tests de casos límite y errores
74
- - [ ] Tests de validaciones de negocio
75
- - [ ] Fast feedback (< 1 segundo para todos los tests unitarios)
76
- - [ ] Cobertura de tests unitarios > 90%
73
+ - [ ] Pruebas de casos límite y errores
74
+ - [ ] Pruebas de las validaciones de negocio
75
+ - [ ] Retroalimentación rápida (< 1 segundo para todas las pruebas unitarias)
76
+ - [ ] Cobertura de las pruebas unitarias > 90%
77
77
 
78
- Número de tests unitarios: ___
78
+ Número de pruebas unitarias: ___
79
79
  Tiempo de ejecución: ___ segundos
80
80
 
81
81
  **Puntos obtenidos**: ___/7
82
82
 
83
- ### Paso 4: Tests de Integración
83
+ ### Paso 4: Pruebas de Integración
84
84
 
85
- Ejecuta los tests de integración:
85
+ Ejecutar las pruebas de integración:
86
86
 
87
87
  ```bash
88
- # Ejecutar tests de integración
88
+ # Ejecutar las pruebas de integración
89
89
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Integration --testdox
90
90
  ```
91
91
 
92
- #### Tests de Integración Infrastructure (5 puntos)
92
+ #### Pruebas de Integración de Infraestructura (5 puntos)
93
93
 
94
- - [ ] Tests para todos los Repositories (con base de datos)
95
- - [ ] Tests para los Adapters externos (Email, API, etc.)
96
- - [ ] Tests para los Event Listeners / Subscribers
97
- - [ ] Tests para los Services con dependencias Symfony
98
- - [ ] Uso de base de datos de test
99
- - [ ] Rollback o reset después de cada test
100
- - [ ] Fixtures para datos de test
101
- - [ ] Tests de transacciones y restricciones BD
102
- - [ ] Aislamiento de tests (sin orden requerido)
103
- - [ ] Tests de casos de error (conexión fallida, etc.)
94
+ - [ ] Pruebas para todos los Repositorios (con base de datos)
95
+ - [ ] Pruebas para los Adaptadores externos (Email, API, etc.)
96
+ - [ ] Pruebas para los Event Listeners / Subscribers
97
+ - [ ] Pruebas para los Servicios con dependencias de Symfony
98
+ - [ ] Uso de base de datos de prueba
99
+ - [ ] Rollback o reset después de cada prueba
100
+ - [ ] Fixtures para datos de prueba
101
+ - [ ] Pruebas de transacciones y restricciones de BD
102
+ - [ ] Aislamiento de pruebas (sin orden requerido)
103
+ - [ ] Pruebas de casos de error (conexión fallida, etc.)
104
104
 
105
- Número de tests de integración: ___
105
+ Número de pruebas de integración: ___
106
106
  Tiempo de ejecución: ___ segundos
107
107
 
108
108
  **Puntos obtenidos**: ___/5
109
109
 
110
- ### Paso 5: Tests Funcionales
110
+ ### Paso 5: Pruebas Funcionales
111
111
 
112
- Ejecuta los tests funcionales:
112
+ Ejecutar las pruebas funcionales:
113
113
 
114
114
  ```bash
115
- # Ejecutar tests funcionales
115
+ # Ejecutar las pruebas funcionales
116
116
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Functional --testdox
117
117
 
118
118
  # Verificar si Behat está instalado
119
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/behat && echo "✅ Behat encontrado" || echo "⚠️ Behat faltante"
119
+ docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/behat && echo "✅ Behat encontrado" || echo "⚠️ Behat ausente"
120
120
  ```
121
121
 
122
- #### Tests Funcionales (5 puntos)
122
+ #### Pruebas Funcionales (5 puntos)
123
123
 
124
- - [ ] Tests para todas las rutas API/Web importantes
125
- - [ ] Tests de controllers con WebTestCase
126
- - [ ] Tests de formularios
127
- - [ ] Tests de autenticaciones y autorizaciones
128
- - [ ] Tests de workflows completos (recorrido de usuario)
129
- - [ ] Tests con Behat para escenarios de negocio (opcional)
130
- - [ ] Tests de respuestas HTTP (códigos, headers, body)
131
- - [ ] Tests de validaciones del lado API
132
- - [ ] Tests de casos de error (404, 403, 500)
133
- - [ ] Tests de redirecciones
124
+ - [ ] Pruebas para todas las rutas API/Web importantes
125
+ - [ ] Pruebas de los controladores con WebTestCase
126
+ - [ ] Pruebas de los formularios
127
+ - [ ] Pruebas de autenticaciones y autorizaciones
128
+ - [ ] Pruebas de flujos completos (recorridos de usuario)
129
+ - [ ] Pruebas con Behat para escenarios de negocio (opcional)
130
+ - [ ] Pruebas de respuestas HTTP (códigos, cabeceras, cuerpo)
131
+ - [ ] Pruebas de validaciones del lado de la API
132
+ - [ ] Pruebas de casos de error (404, 403, 500)
133
+ - [ ] Pruebas de redirecciones
134
134
 
135
- Número de tests funcionales: ___
136
- Tests Behat presentes: [SÍ|NO]
135
+ Número de pruebas funcionales: ___
136
+ Pruebas Behat presentes: [SÍ|NO]
137
137
 
138
138
  **Puntos obtenidos**: ___/5
139
139
 
140
140
  ### Paso 6: Cobertura de Código
141
141
 
142
- Genera el informe de cobertura:
142
+ Generar el informe de cobertura:
143
143
 
144
144
  ```bash
145
- # Generar cobertura de código (requiere xdebug o pcov)
145
+ # Generar la cobertura de código (requiere xdebug o pcov)
146
146
  docker run --rm -v $(pwd):/app php:8.2-cli php -d memory_limit=-1 /app/vendor/bin/phpunit --coverage-text --coverage-html=/app/var/coverage
147
147
 
148
- # Mostrar resumen de cobertura
148
+ # Mostrar el resumen de cobertura
149
149
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit --coverage-text | grep "Lines:"
150
150
  ```
151
151
 
152
152
  #### Cobertura de Código (5 puntos)
153
153
 
154
154
  - [ ] Cobertura global ≥ 80%
155
- - [ ] Cobertura Domain ≥ 90%
156
- - [ ] Cobertura Application ≥ 85%
157
- - [ ] Cobertura Infrastructure ≥ 70%
158
- - [ ] Cobertura de branches (condicionales) ≥ 75%
155
+ - [ ] Cobertura del Dominio ≥ 90%
156
+ - [ ] Cobertura de la Aplicación ≥ 85%
157
+ - [ ] Cobertura de la Infraestructura ≥ 70%
158
+ - [ ] Cobertura de ramas (condicionales) ≥ 75%
159
159
  - [ ] Informe de cobertura generado (HTML)
160
- - [ ] Exclusión explícita del código no testeable
161
- - [ ] Sin código crítico no cubierto
162
- - [ ] Tests de excepciones y casos de error
160
+ - [ ] Exclusión explícita del código no testable
161
+ - [ ] Sin código crítico sin cobertura
162
+ - [ ] Pruebas de excepciones y casos de error
163
163
  - [ ] Configuración de cobertura en phpunit.xml
164
164
 
165
165
  Cobertura global: ___%
166
- Cobertura Domain: ___%
167
- Cobertura Application: ___%
168
- Cobertura Infrastructure: ___%
166
+ Cobertura del Dominio: ___%
167
+ Cobertura de la Aplicación: ___%
168
+ Cobertura de la Infraestructura: ___%
169
169
 
170
170
  **Puntos obtenidos**: ___/5
171
171
 
172
- ### Paso 7: Tests de Mutación con Infection
172
+ Configuración PHPUnit esperada:
173
+
174
+ ```xml
175
+ <coverage processUncoveredFiles="true">
176
+ <include>
177
+ <directory suffix=".php">src</directory>
178
+ </include>
179
+ <exclude>
180
+ <directory>src/Kernel.php</directory>
181
+ <directory>src/DataFixtures</directory>
182
+ </exclude>
183
+ <report>
184
+ <html outputDirectory="var/coverage"/>
185
+ <text outputFile="php://stdout" showUncoveredFiles="false"/>
186
+ </report>
187
+ </coverage>
188
+ ```
189
+
190
+ ### Paso 7: Pruebas de Mutación con Infection
173
191
 
174
- Ejecuta los tests de mutación:
192
+ Ejecutar las pruebas de mutación:
175
193
 
176
194
  ```bash
177
195
  # Verificar si Infection está instalado
178
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/infection && echo "✅ Infection encontrado" || echo "❌ Infection faltante"
196
+ docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/infection && echo "✅ Infection encontrado" || echo "❌ Infection ausente"
179
197
 
180
198
  # Ejecutar Infection
181
199
  docker run --rm -v $(pwd):/app infection/infection --min-msi=70 --min-covered-msi=80 --threads=4
182
200
  ```
183
201
 
184
- #### Tests de Mutación (5 puntos)
202
+ #### Pruebas de Mutación (5 puntos)
185
203
 
186
204
  - [ ] Infection instalado y configurado
187
205
  - [ ] MSI (Mutation Score Indicator) ≥ 70%
188
206
  - [ ] Covered MSI ≥ 80%
189
- - [ ] Tests detectan mutaciones en Domain
190
- - [ ] Tests detectan mutaciones en Application
207
+ - [ ] Las pruebas detectan mutaciones en el Dominio
208
+ - [ ] Las pruebas detectan mutaciones en la Aplicación
191
209
  - [ ] Sin mutantes escapados en el código crítico
192
- - [ ] Configuración infection.json presente
210
+ - [ ] Archivo infection.json presente con configuración
193
211
  - [ ] Timeout configurado correctamente
194
- - [ ] Exclusiones justificadas en config
212
+ - [ ] Exclusiones justificadas en la configuración
195
213
  - [ ] Informe de mutación generado
196
214
 
197
215
  MSI: ___%
@@ -201,50 +219,231 @@ Mutantes escapados: ___
201
219
 
202
220
  **Puntos obtenidos**: ___/5
203
221
 
204
- ### Paso 8: Cálculo de la Puntuación Testing
222
+ Configuración esperada de Infection (infection.json):
223
+
224
+ ```json
225
+ {
226
+ "source": {
227
+ "directories": ["src"]
228
+ },
229
+ "logs": {
230
+ "text": "var/infection.log",
231
+ "html": "var/infection-report.html"
232
+ },
233
+ "mutators": {
234
+ "@default": true
235
+ },
236
+ "minMsi": 70,
237
+ "minCoveredMsi": 80
238
+ }
239
+ ```
240
+
241
+ ### Paso 8: Cálculo de la Puntuación de Testing
205
242
 
206
243
  **PUNTUACIÓN TESTING**: ___/25 puntos
207
244
 
208
245
  Detalles:
209
- - Organización de Tests: ___/3
210
- - Tests Unitarios Domain: ___/7
211
- - Tests de Integración Infrastructure: ___/5
212
- - Tests Funcionales: ___/5
246
+ - Organización de las Pruebas: ___/3
247
+ - Pruebas Unitarias del Dominio: ___/7
248
+ - Pruebas de Integración de Infraestructura: ___/5
249
+ - Pruebas Funcionales: ___/5
213
250
  - Cobertura de Código: ___/5
214
- - Tests de Mutación: ___/5
251
+ - Pruebas de Mutación: ___/5
252
+
253
+ ### Paso 9: Informe Detallado
254
+
255
+ ```
256
+ =================================================
257
+ AUDITORÍA DE TESTING SYMFONY
258
+ =================================================
259
+
260
+ 📊 PUNTUACIÓN: ___/25
261
+
262
+ 📁 Organización de las Pruebas : ___/3 [✅|⚠️|❌]
263
+ 🎯 Pruebas Unitarias del Dominio : ___/7 [✅|⚠️|❌]
264
+ 🔌 Pruebas de Integración de Infraestructura: ___/5 [✅|⚠️|❌]
265
+ 🌐 Pruebas Funcionales : ___/5 [✅|⚠️|❌]
266
+ 📊 Cobertura de Código : ___/5 [✅|⚠️|❌]
267
+ 🦠 Pruebas de Mutación : ___/5 [✅|⚠️|❌]
268
+
269
+ =================================================
270
+ ESTADÍSTICAS GLOBALES
271
+ =================================================
272
+
273
+ Número total de pruebas : ___
274
+ Pruebas unitarias : ___
275
+ Pruebas de integración : ___
276
+ Pruebas funcionales : ___
277
+ Pruebas Behat : ___
278
+
279
+ Tiempo total de ejecución : ___ segundos
280
+ Cobertura global : ___%
281
+ MSI (Mutation Score) : ___%
282
+
283
+ =================================================
284
+ COBERTURA POR CAPA
285
+ =================================================
286
+
287
+ Dominio : ___% [✅|⚠️|❌] (objetivo: 90%)
288
+ Aplicación : ___% [✅|⚠️|❌] (objetivo: 85%)
289
+ Infraestructura : ___% [✅|⚠️|❌] (objetivo: 70%)
290
+ Presentación : ___% [✅|⚠️|❌] (objetivo: 70%)
291
+
292
+ Archivos sin cobertura : ___
293
+ Métodos sin cobertura : ___
294
+ Líneas sin cobertura : ___
295
+
296
+ =================================================
297
+ PRUEBAS DE MUTACIÓN
298
+ =================================================
299
+
300
+ MSI (Mutation Score) : ___% [✅|⚠️|❌] (objetivo: 70%)
301
+ Covered MSI : ___% [✅|⚠️|❌] (objetivo: 80%)
302
+
303
+ Mutantes generados : ___
304
+ Mutantes eliminados : ___ (detectados por las pruebas)
305
+ Mutantes escapados : ___ (no detectados)
306
+ Mutantes timeout : ___
307
+ Mutantes con error : ___
308
+
309
+ Archivos con mutantes escapados críticos:
310
+ ❌ src/Domain/Entity/Order.php - 3 mutantes escapados
311
+ ❌ src/Application/UseCase/CreateUser.php - 2 mutantes escapados
312
+
313
+ =================================================
314
+ PROBLEMAS DETECTADOS
315
+ =================================================
316
+
317
+ Pruebas Faltantes:
318
+ ❌ Sin pruebas para src/Domain/Entity/Invoice.php
319
+ ❌ Sin pruebas para src/Application/UseCase/ProcessPayment.php
320
+ ⚠️ Baja cobertura para src/Infrastructure/Repository/OrderRepository.php (45%)
321
+
322
+ Pruebas Lentas:
323
+ ⚠️ tests/Integration/RepositoryTest.php - 15s (optimizar con fixtures)
324
+ ⚠️ tests/Functional/ApiTest.php - 12s (usar cliente HTTP simulado)
325
+
326
+ Pruebas Inestables (Flaky):
327
+ ❌ tests/Integration/EmailServiceTest.php - falla a veces
328
+ ⚠️ tests/Functional/CheckoutTest.php - dependiente del orden de ejecución
329
+
330
+ Configuración:
331
+ ❌ Infection no instalado
332
+ ⚠️ Cobertura de código no configurada en phpunit.xml
333
+ ❌ Base de datos de prueba no separada
334
+
335
+ =================================================
336
+ TOP 3 ACCIONES PRIORITARIAS
337
+ =================================================
338
+
339
+ 1. 🎯 [ACCIÓN CRÍTICA] - Alcanzar el 80% de cobertura de código
340
+ Impacto: ⭐⭐⭐⭐⭐ | Esfuerzo: 🔥🔥🔥🔥
341
+ - Añadir pruebas para Invoice, ProcessPayment
342
+ - Probar todos los casos de error
343
+ - Probar todas las ramas condicionales
344
+
345
+ 2. 🎯 [ACCIÓN IMPORTANTE] - Instalar y configurar Infection
346
+ Impacto: ⭐⭐⭐⭐ | Esfuerzo: 🔥🔥
347
+ Comando: composer require --dev infection/infection
348
+ Objetivo MSI ≥ 70%
349
+
350
+ 3. 🎯 [ACCIÓN RECOMENDADA] - Separar y optimizar las pruebas
351
+ Impacto: ⭐⭐⭐ | Esfuerzo: 🔥🔥
352
+ - Separar Unit/Integration/Functional
353
+ - Usar base de datos en memoria para las pruebas
354
+ - Optimizar los fixtures
355
+
356
+ =================================================
357
+ RECOMENDACIONES
358
+ =================================================
359
+
360
+ Instalación de herramientas:
361
+ ```bash
362
+ composer require --dev phpunit/phpunit ^10.0
363
+ composer require --dev infection/infection
364
+ composer require --dev symfony/test-pack
365
+ composer require --dev behat/behat
366
+ composer require --dev friends-of-behat/symfony-extension
367
+ composer require --dev doctrine/doctrine-fixtures-bundle
368
+ ```
369
+
370
+ Configuración phpunit.xml.dist:
371
+ ```xml
372
+ <?xml version="1.0" encoding="UTF-8"?>
373
+ <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
374
+ xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
375
+ bootstrap="tests/bootstrap.php"
376
+ colors="true">
377
+ <testsuites>
378
+ <testsuite name="unit">
379
+ <directory>tests/Unit</directory>
380
+ </testsuite>
381
+ <testsuite name="integration">
382
+ <directory>tests/Integration</directory>
383
+ </testsuite>
384
+ <testsuite name="functional">
385
+ <directory>tests/Functional</directory>
386
+ </testsuite>
387
+ </testsuites>
388
+ <coverage processUncoveredFiles="true">
389
+ <include>
390
+ <directory suffix=".php">src</directory>
391
+ </include>
392
+ </coverage>
393
+ </phpunit>
394
+ ```
395
+
396
+ Buenas prácticas:
397
+ - Usar factories para crear los objetos de prueba
398
+ - Usar builders para los objetos complejos
399
+ - Crear aserciones personalizadas reutilizables
400
+ - Aislar las pruebas con setUp/tearDown
401
+ - Usar data providers para probar múltiples casos
402
+ - Simular solo las dependencias externas
403
+ - Probar primero el Happy Path, luego los casos de error
404
+
405
+ CI/CD:
406
+ - Ejecutar las pruebas en cada commit
407
+ - Bloquear los merges si las pruebas fallan
408
+ - Generar y publicar los informes de cobertura
409
+ - Ejecutar Infection en las Pull Requests
410
+ - Alertar si la cobertura disminuye
411
+
412
+ =================================================
413
+ ```
215
414
 
216
415
  ## Comandos Docker Útiles
217
416
 
218
417
  ```bash
219
- # Ejecutar todos los tests
418
+ # Ejecutar todas las pruebas
220
419
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit
221
420
 
222
- # Tests unitarios únicamente
421
+ # Solo pruebas unitarias
223
422
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit
224
423
 
225
- # Tests con cobertura
424
+ # Pruebas con cobertura
226
425
  docker run --rm -v $(pwd):/app php:8.2-cli php -d xdebug.mode=coverage /app/vendor/bin/phpunit --coverage-text
227
426
 
228
427
  # Infection (mutation testing)
229
428
  docker run --rm -v $(pwd):/app infection/infection --threads=4 --min-msi=70
230
429
 
231
- # Behat (tests BDD)
430
+ # Behat (pruebas BDD)
232
431
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/behat
233
432
 
234
- # Listar todos los tests
433
+ # Listar todas las pruebas
235
434
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit --list-tests
236
435
 
237
- # Ejecutar un test específico
436
+ # Ejecutar una prueba específica
238
437
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit/Domain/Entity/UserTest.php
239
438
 
240
- # Tests con salida detallada
439
+ # Pruebas con salida detallada
241
440
  docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit --testdox
242
441
  ```
243
442
 
244
443
  ## IMPORTANTE
245
444
 
246
- - Utiliza SIEMPRE Docker para los comandos
247
- - NO almacenes NUNCA archivos en /tmp (usar var/ del proyecto)
248
- - Proporciona estadísticas precisas
249
- - Identifica archivos críticos sin tests
250
- - Sugiere tests concretos a añadir
445
+ - Usar SIEMPRE Docker para los comandos
446
+ - NUNCA almacenar archivos en /tmp (usar var/ del proyecto)
447
+ - Proporcionar estadísticas precisas
448
+ - Identificar los archivos críticos sin pruebas
449
+ - Sugerir pruebas concretas a añadir