Estoy trabajando con un equipo que tiene un proyecto en Nightwatch.js. Están definiendo comandos para casi todo:
Para mí, algunos de estos se ajustan mejor a las clases de utilidad, pero prefieren tenerlos como comandos, por lo que pueden acceder a ellos a través de browser.Command .
¿Cuál es el enfoque o la recomendación correctos? Todo en los comandos me parece extraño, pero también los códigos se ven más limpios, ya que no es necesario realizar importaciones.
Gracias,
Esta pregunta probablemente se cerrará por estar basada en opiniones, pero de todos modos.
Estoy de acuerdo en que no todas las utilidades deberían ser comandos. En general , vería que el alcance del comando tiene más que ver con actuar sobre las cosas en el navegador como lo haría el usuario, o una forma de agrupar las acciones del usuario, por ejemplo, en un sistema típico, vería comandos como:
etc.
No vería las utilidades de fecha, etc. como comandos, pero como usted dice, solo funciones de utilidad, que son más sobre la implementación subyacente de la prueba, y no sobre cómo el usuario interactuaría con el sistema.
Aunque no Nightwatch, tal vez tome algunos consejos de las mejores prácticas de comandos personalizados de Cypress: https://docs.cypress.io/api/cypress-api/custom-commands#Best-Practices