Para referencia: http://en.wikipedia.org/wiki/Single_responILITY_principle
Tengo un escenario de prueba en el que en un módulo de aplicación es responsable de crear entradas en el libro mayor. Hay tres tareas básicas que podrían llevarse a cabo:
- Ver las entradas de contabilidad existentes en formato de tabla.
- Cree una nueva entrada de libro mayor con el botón Crear.
- Haga clic en una entrada del libro mayor en la tabla (mencionada en el primer puntero) y vea sus detalles en la página siguiente. Puede anular una entrada de libro mayor en esta página.
(Hay un par de operaciones / validaciones más en cada página, pero por brevedad lo limitaré a estas)
Entonces decidí crear tres clases diferentes:
- LedgerLandingPage
- CreateNewLedgerEntryPage
- ViewLedgerEntryPage
Estas clases ofrecen los servicios que podrían llevarse a cabo en esas páginas y las pruebas de Selenium usan estas clases para llevar la aplicación a un estado en el que podría hacer cierta afirmación.
Cuando lo revisé con mi colega, él estaba abrumado y me pidió que hiciera una sola clase para todos. Aunque todavía siento que mi diseño está muy limpio, dudo si estoy usando en exceso el principio de responsabilidad única