Perl Language
펄 테스트
수색…
펄 단위 테스트 예제
다음은 간단한 예제 Perl 테스트 스크립트로 테스트중인 클래스 / 패키지의 다른 메소드를 테스트 할 수있는 구조를 제공합니다. 이 스크립트는 TAP (Test Anything Protocol)라고하는 간단한 "ok"/ "not ok"텍스트로 표준 출력을 생성합니다.
일반적으로 prove 명령은 스크립트를 실행하고 테스트 결과를 요약합니다.
#!/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:
베스트 프랙티스
테스트 스크립트는 하나의 패키지 / 클래스 만 테스트해야하지만 패키지 / 클래스를 테스트하기 위해 많은 스크립트가 사용될 수 있습니다.
더 읽을 거리
- Test :: More - 기본 테스트 작업.
- Test :: Exception - 발생 된 예외를 테스트합니다.
- Test :: Differences - 복잡한 데이터 구조를 가진 테스트 결과를 비교합니다.
- Test :: Class - 스크립트가 아닌 클래스 기반 테스트. JUnit과 유사합니다.
- Perl 테스트 자습서 - 추가 정보.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow