Pregunta

Puede alguien sugerir algunos buenos pruebas automatizadas suite marco de Perl?

¿Fue útil?

Solución

Realmente depende de lo que usted está tratando de hacer, pero he aquí algunos antecedentes para ello.

En primer lugar, por lo general, escribir sus programas de prueba con Test::More o Test::Simple como el núcleo del programa de pruebas:

use Test::More tests => 2;

is 3, 3, 'basic equality should work';
ok !0, '... and zero should be false';

Internamente, Prueba: el Generador se denomina a la salida de los resultados de la prueba de como TOCA (Prueba De Nada Protocolo).Prueba: Arnés (una envoltura alrededor de TOQUE::Arnés), lee e interpreta el GRIFO, indicando si la pruebas superado o no.La "demostrar" la herramienta mencionada anteriormente está liado con la Prueba::Arnés, así que vamos a decir que guarde el sobre en el t/ directorio (el estándar de Perl directorio de pruebas) como "números.t", entonces se puede ejecutar con este comando:

prove --verbose t/numbers.t

O ejecutar todas las pruebas en ese directorio (de forma recursiva, asumiendo que quieren descender en subdirectorios):

prove --verbose -r t/

(--verbose, por supuesto, es opcional).

Como una nota del lado, no uso:: Unit.Mucha gente lo recomienda, pero fue abandonado hace mucho tiempo y no se integra con las modernas herramientas de pruebas.

Otros consejos

Echa un vistazo CPAN Probadores, que tienen una gran cantidad de herramientas para pruebas automatizadas.La mayoría de los que deberían estar en CPAN, de modo que usted será capaz de modificarlo para satisfacer sus necesidades.También es muy fácil escribir su propio probador, PULSA::Arnés.

¿Qué es exactamente lo que usted necesita hacer y cómo están tratando de encajar en su proceso?

Mientras que usted está utilizando las pruebas que producir TOQUE (Prueba de Nada Protocolo) de salida usted puede encontrar que esto sea útil: http://sourceforge.net/projects/smolder

Has visto arder?

"Prueba de humo Agregador utilizado por los desarrolladores y probadores a subir (automática o manual) y ver el humo/pruebas de regresión utilizando el Test de Nada Protocolo.Los detalles y las tendencias se plasman y las notificaciones que se proporcionan a través de correo electrónico o Atom."

Si lo entiendo correctamente, usted está buscando TAP::Arnés

Si estás usando ExtUtils::MakeMaker o Módulo::Construir, a continuación, puede ejecutar todas las pruebas de forma automática al ingresar el comando "make test" o "prueba de Compilación", que ejecutará cualquier *.t los archivos en el proyecto de la t/ subcarpeta.

Si usted no está usando uno de estos, entonces usted puede utilizar TAP::Arnés para automatizar la ejecución de múltiples secuencias de comandos de prueba.

Para escribir las pruebas, el uso de Test::More o cualquiera de los módulos que otros han sugerido aquí.

tenemos que correr todos los archivos de prueba manual para la prueba

Ciertamente quiere ser el uso de la prueba (se ejecuta el test) y/o Módulo::Crear (construye tu código y, a continuación, ejecuta las pruebas usando el mismo código del instrumento de pruebas que demuestren usa internamente.)

Usted dijo:

"Lo que estoy buscando es una más de los sistemas automatizados de marco que se puede hacer la prueba incremental/construcción de cheques etc"

Aún no está totalmente seguro de lo que está después.Como otros han mencionado que desea mirar las cosas que están basados en la Prueba: Arnés/TAP.La gran mayoría de Perl pruebas usos de la comunidad que marco - así que usted conseguirá mucho más apoyo (y útil código existente) mediante el uso de eso.

Puede hablar un poco más acerca de lo que entendemos por "prueba incremental/construcción de cheques"?

Supongo que desea dividir las pruebas en grupos de modo que solo se ejecuta una serie de pruebas en determinadas circunstancias?

Hay un par de maneras de hacer esto.El más simple sería utilizar el sistema de archivos, dividir la prueba de directorios de manera que tienen cosas como:

core/
 database.t
 infrastructure.t
style/
  percritic.t
ui/
  something.t
  something-else.t

Y así sucesivamente...usted puede utilizar la línea de comandos "demostrar" la herramienta para ejecutar a todos ellos, o sólo a ciertos directorios, etc.

demostrar que tiene un montón de opciones útiles que permiten elegir el que se ejecutan las pruebas y en que orden (por ejemplo,cosas como más recientemente fallado orden).Esto - por sí mismo - probablemente conseguir que hacia lo que usted necesita.

(Por CIERTO, es importante obtener la versión más reciente de la Prueba::Simple/probar/etc.desde CPAN.Las versiones más recientes tienen mucho, mucho más funcionalidades).

Si usted es de una OO mentalidad, o tener experiencia previa de xUnit marcos, que es posible que desee echar un vistazo a Prueba: Clase que es un Perl xUnit marco que es construir en la parte superior de la llave/de Prueba::Arnés de capa.Creo que es bastante mejor que PerlUnit - pero yo diría que desde que escribí esto :-)

Echa un vistazo delicioso para más información sobre la Prueba: Clase http://delicious.com/tag/Test::Class

Si esto no es lo que está después - podría ir en un poco más de detalle lo que la funcionalidad que usted desea?

Saludos,

Adrian

Personalmente, me gusta Prueba: la Mayoría, es básicamente Test::More con algunas características interesantes.

La suite de prueba en el marco de la elección es Prueba: Arnés, es el que se encarga de controlar la ejecución de una prueba, la recogida de los resultados, etc.

Varios módulos existen para proporcionar ciertos tipos de pruebas, la más común de lo que se puede encontrar en Test::Simple y Test::More (ambos se incluyen en la Prueba Simple de la distribución).Toda la Prueba de espacio de nombres en el CPAN se dedica a la unidad especializada-los módulos de la prueba, la mayoría de los cuales están diseñados para ejecutarse bajo Prueba: Arnés.

Por convención, las pruebas se almacenan en el t/ directorio de un proyecto, y cada archivo de prueba utiliza la extensión de archivo .t ;las pruebas son comúnmente ejecutar a través de los

 prove t/*.t

Módulo de distribuciones suelen incluir un destino denominado 'test' que ejecuta la suite de prueba antes de la instalación.De forma predeterminada, el CPAN proceso de instalación requiere que la fase de pruebas después de la compilación antes de un módulo estará instalado.

Me gustaría ir para Test::More, o en general, cualquier cosa que salidas PULSA en

A partir de ahora, utilizamos el Test::More, pero el problema actual es que tenemos que ejecutar todos los archivos de prueba de forma manual para las pruebas.Lo que estoy buscando es una más de los sistemas automatizados de marco que se puede hacer la prueba incremental/construcción de cheques, etc.

Una envoltura alrededor de Prueba: Más por eso sería ideal, pero nada mejor y más funcional estaría bien también.

Yo estoy pasando por PerlUnit a ver si eso ayuda.

Es usted consciente de la "probar" la utilidad de la App::Demostrar)?Se puede decir que para ejecutar todas las pruebas de forma recursiva en un directorio determinado, con o sin el nivel de detalle, etc.

Para las pruebas automatizadas en perl echar un vistazo a Prueba: Arnés, que contiene el prove de la herramienta.

El prove la herramienta puede ser ejecutada con el siguiente comando:

prove -r -Ilib t

Esto recursivly prueba de todos *.t los archivos en el 't/' en el directorio, mientras que la adición de lib a la ruta.

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