Buscar..


Ejemplo de prueba de unidad Perl

El siguiente es un ejemplo simple de la secuencia de comandos de prueba de Perl, que proporciona cierta estructura para permitir la prueba de otros métodos en la clase / paquete bajo prueba. El script produce una salida estándar con un simple texto "ok" / "not ok", que se llama TAP (Test Anything Protocol).

Normalmente, el comando de prueba ejecuta los scripts y resume los resultados de la prueba.

#!/bin/env perl
# CPAN
use Modern::Perl;
use Carp;
use Test::More;
use Test::Exception;
use Const::Fast;

# Custom
BEGIN { use_ok('Local::MyPackage'); }

const my $PACKAGE_UNDER_TEST => 'Local::MyPackage';

# Example test of method 'file_type_build'
sub test_file_type_build {
    my %arg    = @_;
    my $label  = 'file_type_build';
    my $got_file_type;
    my $filename = '/etc/passwd';

    # Check the method call lives
    lives_ok(
        sub {
            $got_file_type = $PACKAGE_UNDER_TEST->file_type_build(
                filename => $filename
            );
        },
        "$label - lives"
    );

    # Check the result of the method call matches our expected result.
    like( $got_file_type, qr{ASCII[ ]text}ix, "$label - result" );
    return;
} ## end sub test_file_type_build

# More tests can be added here for method 'file_type_build', or other methods.


MAIN: {

   subtest 'file_type_build' => sub {
      test_file_type_build();
      # More tests of the method can be added here.
      done_testing();
   };

   # Tests of other methods can be added here, just like above.


   done_testing();
} ## end MAIN:

Mejores prácticas

Un script de prueba solo debe probar un paquete / clase, pero se pueden usar muchos scripts para probar un paquete / clase.

Otras lecturas



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow