Arkアプリケーションの開発者テストでTest::Perl::Criticを使う

| コメント(0) | トラックバック(1)

Arkで書いたアプリケーションの開発者テスト(author test)でTest::Perl::Criticを使う際には、use strict;が実効コードより以前に書かれていなければならないというPerl::Critic::Policy::TestingAndDebugging::RequireUseStrictのポリシーに留意します。

具体的には、use Arkによってstrictがインポートされる(のでPBP違反ではない)ことを、Perl::Criticに教えてあげなければなりません。

書き方の一例は以下の通りです。

リソースファイルなどを記述

1.094以降のPerl::Criticでは、equivalent_modulesを設定することで、容易に実現出来ます。use Mooseuse Moose::Roleなどがuse strictuse warningsと等価であることは既にポリシーモジュールに書かれているので、それと同様のことをしてもらいましょう。また、Any::Mooseも同様とします。

まず、xt/perlcriticrcというリソースファイルに以下のように設定を切っておいて、

[TestingAndDebugging::RequireUseStrict]
equivalent_modules = Any::Moose Ark

[TestingAndDebugging::RequireUseWarnings]
equivalent_modules = Any::Moose Ark

テストxt/perlcritic.tでそのリソースファイルを読むように設定します。

#!perl -T

eval {
    require Perl::Critic;
    Perl::Critic->import;
    die if Perl::Critic->VERSION < 1.094; # for equivalent_modules

    require Test::Perl::Critic;
    # 'use Any::Moose' and 'use Ark' are same as 'use strict' and 'use warnings'
    Test::Perl::Critic->import(
        -profile => 'xt/perlcriticrc',
    );
};

Test::More::plan( skip_all =>
    "Perl::Critic 1.094 and Test::Perl::Critic required " .
    "for testing PBP compliance"
) if $@;

all_critic_ok();

これだけです。他にもTest::Perl::Critic周りには色々面白そうな機能がありますが、取り敢えずテストケースとアプリケーションコードの実装を優先することにします。

トラックバック(1)

Moose/Mouseベースのクラスをテストする際には、本筋とは離れたところで一... 続きを読む

コメントする

筆者"Gardejo"について

  • Twitter: @gardejo
  • GitHub: gardejo
  • CodeRepos: gardejo
  • CPAN: MORIYA

このサイトについて

Eorzea System Worksは、架空のシステム開発結社です。

FF14.name (FinalFantasyXIV.name)では、アヴァター(プレイヤーキャラクター)の管理システムやイベント出欠・リマインダシステムや、リンクシェル(LS)運営・管理システムやDKPシステムなどを設計・開発・公開する予定です。

関連サイト

関連サイトでは、他にもFF14に関連するサイトをいくつか紹介しています。

リンク, トラックバック歓迎

このブログへのリンク(どのページでも構いません)やトラックバックを歓迎します。

設計・開発・運用の参考にさせていただきますので、コメントもお気軽にお寄せください!

個別の記事に対するご意見などのほか、目安箱もご用意しています。

このブログ記事について

このページは、Gardejoが2009年8月 2日 02:24に書いたブログ記事です。

ひとつ前のブログ記事は「s/licence/license/xmsgi;」です。

次のブログ記事は「民族(種族)名を早速テストデータに入れてみようとした夜というか朝」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2014年2月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  

やや真面目なサイト