PL Perl  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Тестирование Perl-кода

Практические задания по теме «Тестирование Perl-кода» требуют сопоставить несколько решений, найти источник ошибки и оценить последствия выбранного подхода. В тесте 25 вопросов: код нужно не только читать, но и трассировать, проверять на отказ, сопоставлять несколько правдоподобных решений. Ровно 15 заданий содержат фрагменты Perl; остальные проверяют выбор подхода в реальной ситуации. Если в условии не сказано иначе, предполагаются современный Perl 5.40+, strict и warnings; внешние модули рассматриваются в указанном контексте.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 5 тематическим шкалам и подробный разбор.
Вопрос 1 из 25
Какое описание не теряет важный побочный эффект участка с `sum`?
PerlПроверки с Test::More
use Test::More;
is sum(2,3), 5, 'sum';
done_testing;
Вопрос 2 из 25
Какой прогноз для кода с `parse` и `warnings` выдержит пошаговую проверку?
PerlПодтесты
subtest 'empty input' => sub {
    plan tests => 2;
    is parse(''), undef, 'no record';
    is_deeply [warnings()], [], 'no warnings';
};
Вопрос 3 из 25
Какой прогноз для кода с ключевыми операциями выдержит пошаговую проверку?
PerlПланы
use Test::More tests => 3;
ok 1; ok 1;
Вопрос 4 из 25
Какое описание не теряет важный побочный эффект участка с `parse`?
PerlПроверка ошибок
use Test::Fatal;
like exception { parse('bad') }, qr/invalid/, 'rejects';
Вопрос 5 из 25
Какое утверждение точно описывает поведение фрагмента «Безопасность данных» с `$dir`, `$file` и `tempdir`?
PerlБезопасность данных
my $dir = tempdir(CLEANUP => 1);
my $file = path($dir,'data');
Вопрос 6 из 25
Где находится первопричина возможного сбоя в коде с `$text` и `parse`?
PerlПроверки с Test::More
ok parse($text), 'parsed';
Вопрос 7 из 25
Почему участок с `$case`, `@cases` и `parse` ненадёжен на пограничном входе?
PerlПодтесты
for my $case (@cases) {
    subtest 'case' => sub {
        is parse($case->{input}), $case->{expected};
        done_testing;
    };
}
Вопрос 8 из 25
Что нужно заметить при ревью фрагмента «Планы»?
PerlПланы
plan skip_all => 'not on Windows' unless $^O eq 'MSWin32';
Вопрос 9 из 25
Что в этом коде нарушает ожидаемое поведение?
PerlПроверка ошибок
eval { parse('bad') };
ok $@, 'failed';
Вопрос 10 из 25
Какое скрытое допущение ломает контракт примера «Безопасность данных»?
PerlБезопасность данных
open my $fh,'>','/tmp/test-data';
Вопрос 11 из 25
Почему пограничный случай больше не теряется в участке с `$text`, `$expected` и `parse`?
PerlПроверки с Test::More
is_deeply parse($text), $expected, 'parsed structure';
Вопрос 12 из 25
Почему новая версия с `$case`, `@cases` и `parse` устраняет исходный дефект?
PerlПодтесты
for my $case (@cases) {
    subtest $case->{name} => sub {
        is parse($case->{input}), $case->{expected};
        done_testing;
    };
}
Вопрос 13 из 25
Какой вывод точнее всего объясняет пользу правки «Планы»?
PerlПланы
if ($missing) { plan skip_all => 'dependency unavailable' } else { plan tests => 3 }
Вопрос 14 из 25
Какое свойство новой версии с `$e` и `parse` важно закрепить тестом?
PerlПроверка ошибок
my $e = exception { parse('bad') };
isa_ok $e, 'App::Error::Input';
Вопрос 15 из 25
Почему этот вариант пригоднее для рабочего кода?
PerlБезопасность данных
my ($fh,$name)=tempfile(DIR=>$dir);
Вопрос 16 из 25
Какой общий принцип темы «Проверки с Test::More» переносится на другие программы?
Вопрос 17 из 25
Какое положение темы «Подтесты» помогает выбрать надёжную реализацию?
Вопрос 18 из 25
Что точнее всего описывает контракт механизма «Планы»?
Вопрос 19 из 25
Какой общий принцип темы «Проверка ошибок» переносится на другие программы?
Вопрос 20 из 25
Какое положение темы «Безопасность данных» помогает выбрать надёжную реализацию?
Вопрос 21 из 25
Какое утверждение о теме «Проверки с Test::More» не приписывает механизму лишних гарантий?
Вопрос 22 из 25
Как точнее всего обозначить границу безопасного использования приёма «Подтесты»?
Вопрос 23 из 25
Где проходит граница применимости правила из темы «Планы»?
Вопрос 24 из 25
Какой вывод о механизме «Проверка ошибок» выдерживает проверку на пограничном входе?
Вопрос 25 из 25
Где проходит граница применимости правила из темы «Безопасность данных»?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу