Test :: Builder :: Tester не прошел тест, почему? - PullRequest
0 голосов
/ 10 мая 2011

Вот результаты теста.

prove -lv t/02-fail.t
t/02-fail.t .. 
not ok 1
1..1

#   Failed test at t/02-fail.t line 15.
# STDOUT is:
# ok 1 - corpus/fail/FooBar.pm version 1.0.1 is valid
# not ok 2 - corpus/fail/FooBarBaz.pm version  is valid
# 
# not:
# ok 1 - corpus/fail/FooBar.pm version 1.0.1 is valid
# 
# not ok 2 - corpus/fail/FooBarBaz.pm version  is valid
# 
# as expected
# STDERR is:
# #   Failed test 'corpus/fail/FooBarBaz.pm version  is valid'
# #   at /home/xenoterracide/projects/Test-HasValidVersion/lib/Test/HasValidVersion.pm line 60.
# # corpus/fail/FooBarBaz.pm VERSION  is not a valid verion
# 
# not:
# 
# as expected
Failed 1/1 subtests 

Test Summary Report
-------------------
t/02-fail.t (Wstat: 0 Tests: 1 Failed: 1)
  Failed test:  1
Files=1, Tests=1,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.04 cusr  0.01 csys =  0.08 CPU)
Result: FAIL

и сам тест

#!/usr/bin/perl
use 5.006;
use strict;
use warnings;
use Test::Builder::Tester;
use Test::More;
use Test::HasValidVersion qw( version_all_ok );

test_out( 'ok 1 - corpus/fail/FooBar.pm version 1.0.1 is valid',
    'not ok 2 - corpus/fail/FooBarBaz.pm version  is valid'
);

version_all_ok( 'corpus/fail' );

test_test;
done_testing;

(примечание: вот ссылка на репозиторий github тестовый код там немного другой, но примерно одинаковый. Модуль не отличается. Если вы клонируете репозиторий, убедитесь, что Вы проверяете коммит daaab6a7c452958399f74150406915657f2cfa33 при обновлении главной ветки)

Я не уверен, почему это терпит неудачу, похоже, что вводится целая строка, которую документы не упоминают.

Может кто-нибудь помочь мне исправить код, чтобы он прошел?

Ответы [ 2 ]

0 голосов
/ 04 июня 2011

Итак, мне нужно было добавить test_fail(+4) в код. В конечном итоге я переключился на Test::Tester, чтобы не сталкиваться с проблемами пробелов.

#!/usr/bin/perl
use 5.006;
use strict;
use warnings;
use Test::Builder::Tester;
use Test::More;
use Test::HasValidVersion qw( version_ok );

test_out(
    'ok 1 - VERSION 1.0.1 in corpus/fail/FooBar.pm is valid',
    'not ok 2 - validate VERSION in corpus/fail/FooBarBaz.pm',
);
test_fail(+4);
test_diag('VERSION in corpus/fail/FooBarBaz.pm is not a valid version');

version_ok( 'corpus/fail/FooBar.pm' );
version_ok( 'corpus/fail/FooBarBaz.pm' );
# version_all_ok('corpus/fail');

test_test;
done_testing;

Вот ссылка на фиксированный коммит

0 голосов
/ 13 мая 2011

Вы пробовали обновить Test :: More и Test :: Builder :: Tester до последних версий?С perl-5.10.1 и perl-5.14.0-RC3 здесь и самой последней версией обоих я не могу повторить вашу ошибку, используя проверку вашего git-репо (и устраняя очевидную проблему со строками в репов обратном порядке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...