Necesita explicación de la arquitectura hexagonal

8

Estoy leyendo sobre la arquitectura hexagonal de Alistair Cockburn con interés.

Una afirmación que hace es:

Finalmente, las pruebas de regresión de funciones automatizadas detectan cualquier violación de la promesa de mantener la lógica empresarial fuera de la capa de presentación. La organización puede detectar, y luego corregir, la fuga lógica.

No entiendo este punto. ¿Está diciendo que debido a que la prueba no tiene cabeza, las llamadas a una capa de IU arrojarán excepciones? ¡Eso no parece ser una prueba muy sólida!

Victor Grazi
fuente

Respuestas:

14

Su punto es que tener un conjunto de pruebas automatizadas que ejerciten toda la lógica de negocios sin una interfaz de usuario dejará en claro si tiene alguna lógica de negocios en la interfaz de usuario.

Para hacer un conjunto de pruebas de este tipo, esencialmente debe crear una interfaz "no usuario" de prueba muy delgada para proporcionar datos y verificar resultados. Si alguna de sus lógicas comerciales está realmente en la interfaz de usuario, se encontrará replicando esa lógica en esta interfaz de prueba y se dará cuenta de su error.

Don roby
fuente
Yo como que veo. Pero, ¿qué sucede si el desarrollador aumenta la API publicada al introducir la lógica empresarial en el nivel de presentación? Eso no sería recogido, ¿correcto?
Victor Grazi
1
Nada protegerá de un desarrollador deshonesto que agrega cosas a las que no pertenecen sin pruebas.
Don Roby
Por lo tanto, el patrón protege contra alguien que es lo suficientemente estúpido como para mover la lógica de negocios al nivel de presentación, pero no contra alguien que es tan estúpido que introduciría nuevas API de negocios en su código de presentación.
Victor Grazi
"te encontrarás replicando esa lógica en esta interfaz de prueba" o podrías escribir tus pruebas para usar la lógica de la interfaz de usuario, ¿verdad?
Daniel Kaplan