dist :: zilla mintingモジュールのテストの作成
-
01-10-2019 - |
質問
それは私がの機能テストを書いた時です dist :: zilla ::プラグイン:: Catalyst. 。しかし、私はどこから始めるべきかについての手がかりがないことに気付きました。テストスイートによって認識されたカスタムミントプロファイルが必要であり、適切なパーマを使用してすべての適切なファイルが出力されることを確認するためにテストするだけであることを知っています。 Mintingプロファイルを含めるために使用するDZモジュール、またはMintを開始する方法をまったく確信していません。出力を確認する方法(Temp Directoryを使用すると思われるため)。
誰かが私にいくつかのポインターをくれますか?テストがある他のミントモジュールはありますか?
解決
公式dist :: zillaチュートリアル 今持っています 新しいプラグインの書き込みとテストに関するページ. 。これは、特にプラグインをミントするのではなく、一般的にプラグインをカバーしていますが、プラグインをミントするためにそれを行うことについて特別なものや違いはありません。あなたは見ることができます t/minter.
, 、示唆されているように、それがどれほど似ているかを見るために。
Test::DZil
現在、dist :: zillaで出荷され、他のプラグインが使用するためにインストールされており、すべての非コアプラグインをテストするために使用します。
他のヒント
これは、Minterの非常に基本的なテストファイルです。
#!/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 :: zilla ::テスターテストを書く.