- Se descapó
- 27 de agosto de 2026 a las 19:15 UTC
- Autor
- Kamo
- Compromit
- 1608785
BL1 Task 5, mitad de la biblioteca compartida. Cinco enums, tres entidades y tres repositorios bajo ************* Ningún estereotipos: BillingWormGuard es una clase final con un constructor privado, y SharedLibBeanSafetyTest es verde. Dos mejoras deliberadas en la fuente de nómina: 1. EL TERMINAL-RUN GUARDO DOCUMENTOS JUEGO Y NO ESTÁ TIENE (defecto 5). El javadoc de PayrollSyncRun asegura que "una carrera terminal nunca se reescribe" con nada detrás de esto. BillingSyncRun lo hace cumplir. El plan especifica la guardia como una lectura desnuda del campo actual: si (estado de null && state = BillingSyncRunState.RUNNING) " tirar ... - Esa versión es WRONG y habría roto la producción. BUSen incendios Después de la llamada ha mutado la entidad, por lo que ve el estado terminal BillingSyncJournal.complete() acaba de asignar y rechaza que el escriba el la fila existe para recibir el . completa () tiraría en cada carrera y closeStaleRuns() en cada barrido. Por lo tanto, el guardia se compara con la estado como LOADED, capturado por una instantánea de PostLoad en un campo de tránsito. A fila nunca cargada (un nuevo fresco) se juzga por su estado actual, que mantiene la propia prueba del plan es significativa. 2. dbNow() (La brecha de la bandera de Auto-Review). La nómina lee el reloj de la base de datos de TimecardPunchRepository; InvoicingService no tiene mesa de ponche. Añadido ******************* . "Query(value = "SELECT CAST(now(now() AS timestamp)", nativaQuery = true) el CAST estándar SQL, porque un elenco está en silencio desgarrado: Hibernate Lee el prefijo del parásta y se convierte ahora en:timestamp en :timestamp. BillingSyncJournal es su único llamante y el único escritor real de Ocurrió en el: los retrocesos de las entidades se mantienen en el lugar como guardias de último recurso y documentados como tales (defecto 6). Ambas entidades WORM son atendidas por repositorios NARROW que extienden el Repositorio, no JpaRepository, por lo que no hay un lote de borrar para caminar más allá de la revista PreRemove. Evidencia de TDD: RED primero (compilación, antes de que existiera cualquiera de las clases): [ERROR] ************* no puede encontrar el símbolo [ERROR] símbolo: clase BillingSyncIsue [ERROR] ubicación: clase ************* ... Otros 20 errores de "no pueden encontrar símbolo", BUILD FAILURE GREEN después de la implementación: Pruebas ejecutadas: 7, Fallos: 0, Errores: 0, Saltado: 0 Mutaciones, cada una de las cuales se ejecuta de un archivo aislado de Egit copia HEAD con su propia target/ y su propio -Dmaven.repo.local (esta compra se comparte con otros sesiones y una suite roja aquí suele ser la fase roja de otra persona): MUTACION D. Hacer cumplirTerminalImmutability's "throw" reemplazó con "return" (la mutación de los nombres del Paso 6 del plan): Las pruebas se ejecutan: 7, Fallos: 2, Errores: 0, Saltado: 0 . . . . . . . . . . . . . . . . . . . . . . ******************* . java.lang.AsertionError: Esperando código para levantar un lanzamiento. en **************** ******************* . java.lang.AsertionError: Esperando código para levantar un lanzamiento. en **************** MUTACION E El guardia reescrito EXACTAMENTE como el plan lo especifica, es decir, una desnuda leer de "Estado" sin instantáneas de PostLoad. Esta es la prueba de que el La versión de plan está rota: Las pruebas se ejecutan: 7, Fallos: 1, Errores: 0, Sickpped: 0 . ******************* . java.lang.AsertionError: Esperando código para no levantar un lanzamiento pero ataviado ******************* BillingSyncRun null is SUCCEEDED y es evidencia sobre una carrera completa; no puede ser reescrita. en **************** en **************** MUTACION F - BillingWormGuard.reject hizo un no-op: Las pruebas se ejecutan: 7, Fallos: 4, Errores: 0, Saltado: 0 . . . . . . . . . . . . . . . . . . . . . . ******************* -- Esperando el código para levantar un lanzamiento. ******************* -- Esperando el código para levantar un lanzamiento. ******************* -- Esperando el código para levantar un lanzamiento. ******************* -- Esperando el código para levantar un lanzamiento. Los tres revirtieron. Suite de la biblioteca completa después: Las pruebas se ejecutan: 2288, Fallas: 0, Errores: 0, Saltado: 0 SUCCESS BUILD Sin retocarse en 1,6.0. No empujado . Task 9 aterriza DDL primero.