そこで、私は自分用にいくつかのモジュールを作成しました。Module::Build を使用して perl モジュールのテストを作成する方法についてのドキュメントがあるかどうか疑問に思っています。
私が直面している特定の問題は、HomeBrew::IO
、HomeBrew::Stats
、およびの 3 つのモジュールHomeBrew::Bio
があり、ファイルが配置されている方法でそれらを個別にビルドまたはテストする方法がわからないことです。
3 つのモジュール ファイルは同じディレクトリ.../HomeBrew/lib/HomeBrew/
にあります。ディレクトリに 3 つの Build.PL ファイル.../HomeBrew/
(名前IO-Build.PL
は など) があり、3 つの .t ファイルは (名前は etc) にあり.../HomeBrew/t/
ますHomeBrew-IO.t
。
3 つの Build.PL ファイルは、一度に 1 つのモジュールのみをビルドすることになっていることを認識していないようです。次のいずれかをお見せします。
#!/usr/bin/perl
use warnings;
use strict;
use Module::Build;
my $build = Module::Build->new
(
module_name => "HomeBrew::IO",
dist_author => "George Locke",
dist_abstract => "Various utilities for reading files",
build_requires => {
'Test::More' => '0.10',
'POSIX' => '0', # for tmpname()
'Test::Exception' => '0', # to test that checkExist dies
},
);
$build->create_build_script();
(おそらく、POSIX の代わりに File::Temp を使用する必要がありますが、これはテストでのみ使用されるため、優先度は高くありません)
将来的には、サブルーチンごとにテスト スクリプトを 1 つ持つように変更して、一度に 1 つのサブルーチンBuild test checkExist
だけを言ってチェックできるようにしたいと考えています。
そう、
create_build_script() がすべての .pm ファイルを .pm ファイルに含めないようにするにはどうすればよいですか
lib/HomeBrew
? すべての HomeBrew モジュール ファイルをディレクトリ内に保持したいのです.../HomeBrew
が、それぞれを別のディレクトリに分ける必要がありますか?Module::Build がモジュール全体またはその一部のみをテストする方法を認識できるように、各サブルーチンのテストを作成するにはどうすればよいですか?
今、私が言う./Build test
と、3 つのモジュールすべてを一度にテストします (そして、./Build install
3 つすべてを一度にインストールします)。