2

Dist::Zilla::Plugin::Catalystの機能テストを書くときが来ました。しかし、私はどこから始めればよいか分からないことに気付きました。テスト スイートによって認識されるカスタム ミント プロファイルが必要であり、すべての適切なファイルが適切なパーマで出力されることを確認するためだけにテストするつもりであることはわかっています。ミントプロファイルを含めるためにどのDZモジュールを使用するか、またはミントを開始して出力を確認する方法がまったくわかりません(一時ディレクトリを使用すると思われるため)。

誰かが私にいくつかの指針を教えてもらえますか?テストがある他のミントモジュールはありますか?

4

2 に答える 2

2

これは、ミンター用の非常に基本的なテスト ファイルです。

#!/usr/bin/perl
use strict;
use warnings;
use Dist::Zilla::Tester;
use Test::More;
use Path::Class;

my $tzil = Minter->_new_from_profile(
    # which profile to run e.g. dzil new  -p
    [ Default => 'default' ],
     # app name
    { name => 'CatApp', },
    # location of whats esessntially your tests ~/.dzil
    { global_config_root => dir('corpus/mint')->absolute },
);

# same as running dzil new
$tzil->mint_dist;

# mint root, obviously getting the location of the temporary repo creation
my $mr   = dir( $tzil->tempdir )->subdir('mint');

# test to see if CatApp.pm exists
ok( -e $mr->subdir('lib')->file('CatApp.pm'), 'CatApp.pm exists');
done_testing

もちろん、多くの実際のテストでは、作成されたファイルも読みたいと思うでしょう。これは で行うことができます$tzil->slurp_file('file');

通常のDist::Zilla::Testerテストとミントされた dist をテストすることはあまり変わらないので、簡単な Dist::Zilla::Tester テストの作成について私が書いたブログを読みたいと思うかもしれません。

于 2010-12-12T17:59:45.590 に答える
1

公式のDist::Zilla チュートリアル、新しいプラグインの作成とテストに関するページが追加されました。これは一般的なプラグインを対象としており、特にプラグインを作成するわけではありませんが、プラグインを作成するためにそれを行うことについて特に特別なことや異なることは何もありません。がt/minter.示唆されているように、どれだけ似ているかを確認できます。

Test::DZilは現在、Dist::Zilla に同梱されており、他のプラグインで使用するためにインストールされています。私はそれをすべての非コア プラグインのテストに使用しています。

于 2011-05-05T14:03:28.460 に答える