Установка тестовых модулей

Ниже приводится перевод главы Beginning Testing из учебника Perl Testing: A Developer`s Notebook

Практические занятия в этой главе проходят через самые элементарные шаги написания и выполнения автоматизированных тестов на Perl. К концу главы вы будете знать как начать тестирование, как работают библиотеки тестирования на Perl, и где найти дополнительные библиотеки, чтобы облегчить вашу работу.

Одной из сильных сторон Perl является CPAN - архив тысяч библиотек в свободном доступе, которые решают почти любые программные задачи, включая написание и выполнение тестов. Однако прежде, чем использовать эти модули, их нужно установить. Perl упрощает эту задачу.

Способы установки модулей Perl

Лучший способ установки модулей из CPAN через систему установки модулей, которая может сама произвести поиск, загрузку сборку, установку модулей и их зависимостей.

Через оболочку CPAN

На Unix-подобных платформах (включая Mac OS X), а также в Windows если есть в наличии С компилятор, самый простой способ установки модулей - использование модуля CPAN, который поставляется с Perl. Например, если у вас еще не установлен модуль Test::Simple, запустите командную оболочку CPAN, а затем введите install Test::Simple . Ниже приводится примерная картина установки этого модуля.

    % cpan
    cpan shell -- CPAN exploration and modules installation (v1.7601)
    ReadLine support enabled
    cpan> install Test::Simple
    Running install for module Test::Simple
    Running make for M/MS/MSCHWERN/Test-Simple-0.54.tar.gz

    ...

    Appending installation info to /usr/lib/perl5/5.8.6/powerpc-linux/perllocal.pod
    /usr/bin/make install UNINST=1 -- OK

Примечание: Вы также можете запустить оболочку CPAN командой perl MCPAN -e shell .

Если Test::Simple имеет какие-либо зависимости (в нашем случае их нет), оболочка обнаружит их и установит их первыми.

Если вы запускаете оболочку cpan впервый раз, возможно нужно будет указать конфигурацию системы, сети и.т.п. Обычно по умолчанию настройка производится автоматически.

Через PPM

В Windows чаще в всего используется дистрибутив Perl от ActiveState, в которую входит утилита ppm для загрузки, конфигурации, сборки и установки модулей. Если у вас установлен ActivePerl, откройте окно консоли и введите:

    C:\>PPM
    PPM> install Test-Simple

Примечание: ActivePerl также выпускает дистрибутивы Perl для Linux и Solaris, так что вышеуказанные инструкции работают и там.

Если конфигурация указана верно, ppm загрузит и установит последнюю версию Test::Simple из репозитория ActiveState.

Если модуля нет в репозитории вообще, либо его версия в репозитории не самая последняя, у вас есть несколько вариантов.

Первый вариант - вы можете найти альтернативные репозитории. Смотрите список ppm репозиториев . Ниже приводится пример подключения репозитория к PPM.

    C:\>PPM
    PPM> set repository dada http://dada.perl.it/PPM
    PPM> set save

Вручную

Если вы хотите вручную установить модуль на чистом Perl или работаете на пларформе, где имеется соответствующий компилятор, вы можете загрузить и установить модуль вручную. Найти подходящий модуль можно на сайте http://search.cpan.org. После того, как вы нашли и загрузили архив модуля, распокуйте его в домашнем каталоге:

    $ tar xvzf Test-Simple-0.54.tar.gz
    Test-Simple-0.54/
    ...

Примечание: Чтобы установить среду компиляции для Perl на Windows, обратитесь к файлу README.win32, который поставляется вместе с Perl.

Запустите программу Makefile.PL и затем выполните стандартные команды сборки и тестирования модуля:

    $ perl Makefile.PL
    Checking if your kit is complete...
    Looks good
    Writing Makefile for Test::Simple

    $ make
    ...
    cp lib/Test/Builder.pm blib/lib/Test/Builder.pm
    cp lib/Test/Simple.pm blib/lib/Test/Simple.pm

    $ make test

Примечание: Загруженный архив имеет статус "Текущий релиз"(This Reliase), если вы планируете помочь в развитии модуля, нужно загрузить его последний релиз для разработчиков (Latest Dev Release).

Если все тесты пройдены, отлично! В противном случае, сделайте все возможное, чтобы выяснить, что не удалось сделать, почему, и насколько это поправимо. Наконец, необходимо установить модуль, запустив make install (с привилегиями администратора, если вы устанавливаете модуль в системный каталог).

Обычно Makefile.PL использует модуль ExtUtils::MakeMaker для конфигурации и установки модулей. Но иногда для этой же цели используется Build.PL и Module::Build. В этом случае нужно указать другие команды установки:

    $ perl Build.PL
    $ perl Build
    $ perl Build test
    # perl Build install

Примечание: на Unix можно использовать ./Build вместо perl Build.

В остальном, они работают практически идентично.

На Windows может потребоваться установка утилиты nmake от Microsoft для установки модулей вручную, которая использутеся так же, как и make. Таким образом, установка модулей на Windows производится командами nmake: nmake, nmake test, и nmake install.

Примечание: Файл README.win32 из исходного кода дистрибутива Perl может помочь в разрешении вопросов по утилите nmake.exe

Вопрос - ответ ...

  • Вопрос:

    Как я узнаю какое имя нужно указать, при установке модуля через PPM ? Я пытался установить Test-More, но утилита не может его найти!

  • Ответ:

    Такое бывает когда модуль входит в состав дистрибутива модулей, поэтому нужно установить сам дистрибутив. Определить к какому дистрибутиву относится модуль можно на http://search.cpan.org. В нашем примере Test::More входит в дистрибутив Test-Simple, поэтому нужно указать в PPM название дистрибутива Тest::Simple, чтобы установился модуль Test::More.

  • Вопрос:

    Я не системный администратор, или я не хочу устанавливать модули в системный каталог. Как я могу установить модуль в конкретный каталог?

  • Ответ:

    Укажите соответствующий параметр PREFIX при установке модуля. Например, PREFIX ~/perl/lib установит модуль в каталог ~/perl/lib (по меньшей мере, на Unix системах). Затем добавьте в переменную окружающей среды PERL5LIB путь к каталогу или не забывайте использовать прагму lib для добавления каталога в @INC во всех программах, в которых будут вызваны локально установленные модули. Примечание: Почитайте perlfaq8 чтобы узнать больше о поддержке вашего собственного каталога модулей.

    Если вы устанавливаете модуль вручную, выполните Makefile.PL следующим образом:

        $ perl Makefile.PL PREFIX=~/perl/lib

    Примечание: MakeMaker 6.26 поддерживает INSTALLBASE, используйте его вместо PREFIX.

    Если вы используете CPAN, можно настроить его для установки модулей в нужную вам директорию. Запустите оболочку CPAN под вашей учетной записью с последующим конфигурированием параметров.

        % cpan
    
        ...
                 # указать каталог установки модулей
        cpan[1]> o conf makepl_arg PREFIX=/home/UserName/mylib  
    
                 # зафиксировать изменения параметров
        cpan[2]> o conf commit

    Если устанавливаемый модуль использует Module::Build , укажите параметр --installbase вместо PREFIX

        $ perl Build.PL --installbase=~/perl

    Обратитесь к документации для ExtUtils::MakeMaker, CPAN, и Module::Build за более подробной информацией.

Statistic

About this Entry

This page contains a single entry by Dinar published on March 12, 2010 8:35 PM.

Обзор записной книжки Perl тестера was the previous entry in this blog.

Выполнение(прогон) тестов is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.