Pregunta

Hay un equipo trabajando en la prueba de aceptación de la aplicación X11 GUI en nuestra empresa, y crearon un marco de prueba de aceptación monstruoso que impulsa la GUI y los escenarios de ejecución.

El marco está escrito usando Perl 5, y los archivos de escenarios se parecen más a programas Perl muy complejos (miles de líneas con estilo de programación procesal) que a las pruebas de aceptación.

Recientemente aprendí Ruby's Cucumber, y en general he estado usando Ruby durante bastante tiempo. Pero desafortunadamente no puedo empujar a Ruby para reemplazar a Perl porque las personas que escriben todo esto no conocen a Ruby y es bastante seguro de que no querrán "esto". tipo de interrupción.

Entonces, para acercar a Ruby's Cucumber a su trabajo, lo reescribí usando Perl 5. Desafortunadamente, realmente no soy un programador de Perl, y me encantaría obtener una revisión del código y escuchar sugerencias de personas que conocen a Perl y Pepino.

Hola usuarios de Perl / Cucumber StackOverflow: ayúdenme a crear este "código abierto" ¡Intenta recrear Pepino para Perl! Me encantaría escuchar sus comentarios y aceptaré cualquier ayuda aceptable.

El código fuente mínimo está aquí:

http://github.com/kesor/p5-cucumber

Gracias por su atención.

Para aquellos que no están familiarizados con el pepino, tómese un momento para mirar esta pequeña página: http: //cukes.info/

¿Fue útil?

Solución

  

¿Puedes revisar mi reescritura de Perl de   Pepino?

Respuesta: Sí.

He leído el código de Github que publicaste. Se ve bastante bien.

Tengo curiosidad sobre el siguiente fragmento de Parser :: Parser.yp :: ERROR. ¿Por qué elegiste usar " y hacer {} " sobre " if () {} " ;? ¿Estilo? alcance otro?

  exists $parser->YYData->{ERRMSG}
  and do {
    print $parser->YYData->{ERRMSG};
    delete $parser->YYData->{ERRMSG};
    return;
  };

No he usado pepino y todavía estoy tratando de entender el modelo de uso. ¿Cómo haría alguien para verificar / ejecutar su ejemplo de calculadora?

Si planea lanzar su código a CPAN (y debería hacerlo), entonces querrá agrupar esta fuente de git en un tarball instalable. Deberá incluir una de las herramientas de instalación de módulos: ExtUtils :: MakeMaker, Module :: Build, etc. Recientemente comencé a usar Dist :: Zilla , y estoy muy contento con eso. Me superó la energía de activación de liberar mi primer módulo cpan.

Recorrido de 20 segundos de Dist :: Zilla:

  1. descargar e instalar Dist :: Zilla y sus requisitos (hay muchos, ya que es una herramienta solo para desarrolladores)
  2. crea un archivo dist.ini en la parte superior nivel de su paquete ('dzil new MyPackage')
  3. correr 'prueba dzil', 'construcción dzil' y 'dzil liberar ', para probar, (compilar y probar), (compilación, prueba y lanzamiento)

Vea el Dist :: Zilla :: Tutorial

Otros consejos

Puede obtener buena ayuda en Perlmonks . Ese sitio está orientado a este tipo de publicación, mientras que Stackoverflow se trata más de preguntas directas y respondibles.

Buena suerte, :)

Hay una implementación bastante más completa de Cucumber en Perl en la forma de Test :: BDD :: Cucumber .

¿ Test :: A8N cumple con sus requisitos?

Si no, hay muchas otras Prueba: : módulos en CPAN que pueden hacer lo que busca.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top