Есть ли способ, чтобы подпрограммы «Тесты» Test :: Class всегда действовали как подтесты Test :: More? - PullRequest
2 голосов
/ 16 августа 2010

Прямо сейчас, когда я делаю что-то вроде этого:

use strict;
use warnings;

package My::Test;
use parent 'Test::Class';
use Test::More;

sub overrides_basic : Tests {
    ok( 1, "works" ); ok( 1, "works" );
}
sub overrides_no_profile : Tests {
    ok( 2, "works" ); ok( 2, "works" );
}
__PACKAGE__->runtests;
1;

Вывод такой:

ok 1 - works
ok 2 - works
ok 3 - works
ok 4 - works
1..4

Это не очень приятно.

Однако, еслия делаю это:

use strict;
use warnings;

package My::Test;
use parent 'Test::Class';
use Test::More;

sub overrides_basic : Tests {
    subtest 'overrides_basic' => sub {
        ok( 1, "works" ); ok( 1, "works" );
    };
}
sub overrides_no_profile : Tests {
    subtest 'overrides_no_profile' => sub {
        ok( 2, "works" ); ok( 2, "works" );
    };
}
__PACKAGE__->runtests;
1;

Вывод более приятный и более желательный, например так:

    ok 1 - works
    ok 2 - works
    1..2
ok 1 - overrides_basic
    ok 1 - works
    ok 2 - works
    1..2
ok 2 - overrides_no_profile
1..2

Проблема здесь в том, что для этого требуется много ненужной работы.Так что сейчас я просто подклассифицирую Test :: Class, чтобы переопределить подпункты Tests.

Однако мне интересно, есть ли уже простое решение для этого, которое я не смог найти.

Ответы [ 2 ]

3 голосов
/ 17 августа 2010

После некоторых исследований я обнаружил, что это вообще не поддерживается, поэтому вот модуль, который я только что написал, чтобы решить эту проблему:

Test :: Class :: TestGroup

1 голос
/ 02 октября 2010

Test :: Class будет обновлен для поддержки подтестов, когда я получу запасные комплекты: -)

Первоначальный проект был сделан, когда мы представили их на qa-hackathon 2009 года. Просто нужно найти время, чтобы привести в порядок и внедрить последние исправления.

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