¿Tu solicitud de función está relacionada con un problema?
Estoy en el proceso de agregar soporte para cucumber-js en StrykerJS, el marco de pruebas de mutación para JavaScript y amigos. Consulte https://github.com/stryker-mutator/stryker-js/pull/2970
Me gustaría usar pepino programáticamente. De hecho, ya lo estoy haciendo en el MR. Sin embargo, me doy cuenta de que estoy usando una API no documentada, lo que no me gusta hacer, ya que la implementación podría fallar en una versión de lanzamiento de parche. Me esfuerzo por usar solo API públicas.
Describa la solución que le gustaría
¿Aceptaría una RP que documente el uso de la clase Cli
para uso público?
const { Cli } = require('@cucumber/cucumber')
Lo agregaría a su directorio de documentos . Ya sea en un archivo nuevo ( programmatic-usage.md
) o agréguelo al archivo cli.md
.
Describa las alternativas que ha considerado
-
Contexto adicional
Para que las pruebas de mutación sean factibles, necesitamos una API programática. Simplemente llamar a childProcess.exec
para ejecutar cucumber-js funcionaría, pero es terrible para el rendimiento ya que Stryker ejecutará cucumber-js muchas veces durante una prueba de mutación.
No eres el único que usa las API internas para un uso programático.
Creo que sería una buena idea estabilizar dicha API y documentarla.
@cucumber/cucumber-js ¿qué opinas?
Hola @nicojs , ¡tu tiempo es impecable! Estoy escribiendo una propuesta para una nueva API programática esta mañana que espero sea de beneficio para usted. Te etiquetaré allí, ya que sería genial recibir tus comentarios iniciales.
Voy a cerrar esto ya que estamos teniendo una buena discusión sobre el #1711 sobre una nueva API para resolver esta necesidad.
Solo agregaré que la intención es dejar que la clase Cli
funcione como lo hace en 8.0.0, aunque no esté en la API pública, para darles a los desarrolladores tiempo para cambiar a la nueva API y planchar cualquier problema allí.
Comentario más útil
Hola @nicojs , ¡tu tiempo es impecable! Estoy escribiendo una propuesta para una nueva API programática esta mañana que espero sea de beneficio para usted. Te etiquetaré allí, ya que sería genial recibir tus comentarios iniciales.